Я пытаюсь создать список флажков с флажком Все и Нет в конце.Проверить все флажки не работают при втором использовании
При нажатии этих флажков происходит довольно тяжелая операция, поэтому очень важно, чтобы процесс проверки и снятия отметки не вызывал флажок для каждого дочернего элемента.
Вот мой JS:
$(document).ready(function(){
$('#AllCheckbox').click(function(){
$('#NoneCheckbox').removeAttr('checked');
$('.TypeCheckbox').attr('checked', 'checked');
});
$('#NoneCheckbox').click(function(){
$('#AllCheckbox').removeAttr('checked');
$('.TypeCheckbox').removeAttr('checked');
});
$('.TypeCheckbox').click(function(){
alert('Type checkbox was clicked');
$('#AllCheckbox').removeAttr('checked');
$('#NoneCheckbox').removeAttr('checked');
});
});
Вот мой HTML:
<label for="1Checkbox">1</label><input type="checkbox" ID="1Checkbox" class="TypeCheckbox" />
<label for="2Checkbox">2</label><input type="checkbox" ID="2Checkbox" class="TypeCheckbox" />
<label for="3Checkbox">3</label><input type="checkbox" ID="3Checkbox" class="TypeCheckbox" />
<label for="AllCheckbox">All</label><input type="checkbox" ID="AllCheckbox" />
<label for="NoneCheckbox">None</label><input type="checkbox" ID="NoneCheckbox" />
Я создал JSFiddle.
Если вы нажмете «Все», он отлично работает, все отмеченные флажки отмечены. Однако нажмите «Нет», а затем «Все», а во второй раз отмеченные флажки не отмечены. Почему нет?
Это прекрасно работает - вы можете мне сказать, почему? – Liath
@ Liath, посетите http://stackoverflow.com/questions/5874652/prop-vs-attr a good read – Satpal