2013-09-20 1 views
1

Я создал следующий небольшой код для репликации проблемы, с которой я столкнулся. Когда я нажимаю кнопку «Выбрать все» в первый раз, он отлично работает. Аналогично, когда я нажимаю кнопку «Выбрать нет», она работает нормально. Но когда я снова нажимаю «Выбрать все», это не сработает. Аналогично, если я .пути() div и повторно заполняю его кнопкой «Click Me». Обе кнопки работают только в первый раз. Мой JQuery код выглядит следующим образом:jQuery .on() click запускается корректно только один раз

$("#populate").click(function() { 
    $("#populateme").empty(); 
    $("#populateme").html("<input type=checkbox name=tester1 class=tester value=1><input type=checkbox name=tester2 class=tester value=2><input type=checkbox name=tester2 class=tester value=3><input type=button name=selectall id=selectall value=selectall><input type=button name=selectnone id=selectnone value=selectnone>"); 
}); 
$(document).on("click","#selectall",function() { 
    $(".tester").attr("checked",true); 
}); 
$(document).on("click","#selectnone",function() { 
    $(".tester").attr("checked",false); 
}); 

Вы можете просмотреть эту проблему по следующей ссылке: http://jsfiddle.net/RHFMT/1/

+0

Возможный дубликат [jQuery 1.9 checkbox not checked sec ond time after un unchecked] (http://stackoverflow.com/questions/14494467/jquery-1-9-checkbox-not-checked-second-time-after-once-it-unchecked) –

ответ

4

Использование prop вместо attr, чтобы установить и очистить checked состояние, как это:

$(document).on("click","#selectall",function() { 
    $(".tester").prop("checked",true); 
}); 
$(document).on("click","#selectnone",function() { 
    $(".tester").prop("checked",false); 
}); 

Подробнее см. Здесь: Setting "checked" for a checkbox with jQuery?