2013-12-05 3 views
0

Мне нужно решение проблемы. Загрузите мою страницу, нажмите на мой первый флажок и все флажки. Большой! После того, как я повторю операцию, сначала снимите флажок, а затем установите флажок. Большой!jquery selectall не работает должным образом после отмены выбора

Но если я снова нажму на первый флажок, ничего не произойдет, но с firebug я вижу, что каждый флажок установлен, но он не отображается как отмеченный.

Вы можете мне помочь?

Мой код:

// add multiple select/deselect functionality 
$("#selectall").click(function() { 
    $('.case').attr('checked', this.checked); 
}); 

// if all checkbox are selected, check the selectall checkbox 
// and viceversa 
$(".case").click(function() { 
    if ($(".case").length == $(".case:checked").length) { 
     $("#selectall").attr("checked", "checked"); 
    } else { 
     $("#selectall").removeAttr("checked"); 
    } 
}); 

here a demo

ответ

3

Изменение:

$('.case').attr('checked', this.checked); 

в

$('.case').prop('checked', this.checked); 

Updated fiddle here.

More information here.

+0

GREAT! Какая разница между attr и prop? – Scream

+0

@Scream приветствуется :). [читайте разницу здесь] (http://stackoverflow.com/questions/5874652/prop-vs-attr) – Hiral