#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть несколько флажков, которые добавлены с помощью AJAX. Я пытаюсь вызвать click
, если флажок не установлен, но это работает не для всех флажков.
if ($(".variable_manage_stock").prop('checked') == false) {
$('.variable_manage_stock').trigger('click');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[0]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[1]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[2]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[3]">
Комментарии:
1. чего вы ожидаете от нажатия на флажок?
2. Что означает попытка вызвать щелчок, если флажок не установлен ? Что вы на самом деле пытаетесь здесь сделать, потому что это не имеет большого смысла
3. похоже, что ни один из ваших флажков не установлен, и в этом случае вам следует вызвать свой обработчик. Нет необходимости запускать
click
событие4. Присвоите флажку другой идентификатор и передайте его через событие onChange. Затем вы получите щелчок по каждому элементу отдельно.
5. @ThanveerShah Идентификатор для каждого из них кажется мне избыточным, основываясь на предоставленной информации. Вероятно, операция может повторяться на основе имени класса и его индекса.
Ответ №1:
Вы можете выполнить цикл по списку, который вы получаете с помощью $(".variable_manage_stock")
, как это делает следующий код:
var stockList = $(".variable_manage_stock");
stockList.each(function() {
if ($(this).prop('checked') == false) {
$(this).trigger('click');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[0]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[1]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[2]">
<input type="checkbox" class="variable_manage_stock" name="variable_manage_stock[3]">