2013-08-09 2 views
2

Флажок «Выбрать все» хорошо работает в первоначальное время. шаги: 1.Смотрите, я установил флажки или установил все флажки, а затем сохранил форму 2. При использовании сохраненной формы ничего не отображается. Он показывает флажок, как на начальном этапе. Ничего не спасено.флажок не работает на странице редактирования

Javascript

<%= check_box_tag "box_select_all" %> 

<%= check_box_tag "box_id[]", box.id, false, class: 'box_select' %> 

JQuery

$('body').delegate('#box_select_all', 'click', function() { 
    $('.box_select').prop('checked', this.checked); 
}); 


$('body').delegate('.box_select', 'click', function() { 
    if ($(".box_select").length == $(".box_select:checked").length) { 
    $("#box_select_all").prop("checked", "checked"); 
    } else { 
    $("#box_select_all").prop("checked", false); 
    } 
}); 

Может кто-нибудь мне помочь ??

+1

это тип-o? "$ ('. box_select'). prop ('checked', this.checked); ox" – ajt

+0

@ ajt- ya.sorry. изменит его. – Sam

ответ

3

Почему вы хотите делегировать эту функцию на теле, когда вы нажмете этот флажок, вызывается функция. Называйте это так:

$("#box_select_all").click(function() { 
    $(".box_select").prop('checked', this.checked); 
}); 

$(".box_select").click(function() { 
    if ($(".box_select").length == $(".box_select:checked").length) { 
    $("#box_select_all").prop("checked", "checked"); 
    } 
    else { 
    $("#box_select_all").prop("checked", false); 
    } 
}); 

Надеюсь, что это сработает.

1
$("#select_all").click(function){ 
    $(".select_class").attr("checked",true); 

}); 

Это означает, что вы просто добавить один класс для всех флажков и сделать этот код на поле выбора все флажок, на ее функции OnClick. gud luck

Смежные вопросы