0

我在一个页面中有两个复选框。如果单击一个选中所有复选框,则另一个复选框也会启用选中的框。

jQuery

$("#box_all").click(function () {
  $('td input[type=checkbox]').attr('checked', this.checked);
});

$("#book_all").click(function () {
  $('td input[type=checkbox]').attr('checked', this.checked);
});

HTML

<th><%= check_box_tag "box_all" %></th>
<td>
  <%= hidden_field_tag 'box_id', sd.box.id %>
  <%= check_box_tag "box_dance_ids[]", bd.id %>
</td>

<th><%= check_box_tag "book_all" %></th>
<td ><%= check_box_tag "book_dance[book_ids][]", @book.id %></td>

有谁能够帮我

4

2 回答 2

0

基本上,通过做

$('td input[type=checkbox]').attr('checked', this.checked);

您正在检查td单元格中的所有复选框。你需要改进你的选择器。

您没有向我们展示您的 html,所以我只能指导您,但您可以

  1. 为这些复选框或它们的 td 提供一个类。

$('td.my_specific_tds input[type=checkbox]').attr('checked', this.checked);

  1. 传递一个包含您要更新的复选框的容器。

$('td input[type=checkbox]', $('#my_container_id')).attr('checked', this.checked);

于 2013-06-13T05:36:15.463 回答
0

你可以试试这个

 $('td input:checkbox:checked[name=<name_of_the_checkbox>]')
于 2013-06-13T05:36:51.853 回答