У меня есть динамическая форма, в которой есть несколько флажков. Я хочу создать метод «выбрать все», который при каждом нажатии автоматически проверяет все поля в форме.Установка флажков с помощью JQuery
[x] select all //<input type="checkbox" id="select-all"> Select all
[] item 1 //<input type="checkbox" id="1" class="checkbox1" value="1">
[] item 2 //<input type="checkbox" id="2" class="checkbox1" value="2">
[submit]
Мой JQuery выглядит следующим образом:
$(document).ready(function(){
$('#select-all').click(function() {
if (this.checked)
{
console.log("Check detected");
$('.checkbox1').each(function() {
console.log('Checking the item with value:' + this.value);
$(this).prop('checked', true);
console.log(this);
});
} else {
console.log("not checked");
}
});
});
Моя консоль выход:
> Check detected
> Checking the item with value:1
> <input type="checkbox" id="1" class="checkbox1" value="1">
> Checking the item with value:2
> <input type="checkbox" id="2" class="checkbox1" value="2">
Я могу Перебери каждый элемент, однако, я не знаю, как на самом деле установить флажок, чтобы проверить.
Часть, с которой я борюсь, - это фактическая настройка проверенного состояния, я знаю, что мне нужно использовать: .prop ('checked', true), однако, что я использую для фактического элемента? $ (Это), очевидно, не работает ...
$(this).prop('checked', true);
Используйте '$ ('CheckBox1 ') проп (' проверено', правда),' ' – Mohammad
$ (это)' 'внутри each' относятся к току элемент в коллекции.В вашем случае вам даже не нужно «каждый». Просто используйте '$ ('. Checkbox1'). Prop ('checked', true);' jQuery сделает цикл для вас. – Tushar
Показанный код должен работать, или 'this.checked = true', но вам не нужен цикл, вы можете сделать то, что предлагают другие комментарии. – nnnnnn