JQuery:Checkbox如何在选中另一个复选框时选中或取消选中所有复选框

时间:2013-10-24 14:59:44

标签: jquery checkbox

当我选择/取消选择selectAll复选框时,我希望选中或取消选中所有其他复选框。

没有子元素或父元素

Html代码:

<div>
 <li class="input">
  <input type="checkbox" name="selectAll" value=""></input>
 </li>
 <li class="input">
  <input type="checkbox" name="practice" value=""></input>
 </li>
 <li class="input">
  <input type="checkbox" name="filename" value=""></input>
 </li>
 <li class="input">
  <input type="checkbox" name="comment" value=""></input>
 </li>
</div>

这是我到目前为止试图做的事情 -

$(this).siblings('ul').find("input[type='checkbox']").prop('checked', true);

$(this).parent().find('input:checkbox:first').prop('checked', true);

2 个答案:

答案 0 :(得分:6)

你走了。

<强>标记

  <div>
    <li class="input">
      <input type="checkbox" id="select-all" name="selectAll" value=""/>
    </li>
    <li class="input">
      <input type="checkbox" name="practice" value=""/>
    </li>
    <li class="input">
      <input type="checkbox" name="filename" value=""/>
    </li>
    <li class="input">
      <input type="checkbox" name="comment" value=""/>
    </li>
  </div>

<强>代码

$("#select-all").on("click", function() {
  var all = $(this);
  $('input:checkbox').each(function() {
       $(this).prop("checked", all.prop("checked"));
  });
});

小提琴http://jsfiddle.net/PcMnk/148/

答案 1 :(得分:3)

<强> HTML

<div>
    <li class="input">
        <input type="checkbox" class="select-all" name="selectAll" value=""></input>
    </li>
    <li class="input">
        <input type="checkbox" class="item-checkbox" name="practice" value=""></input>
    </li>
    <li class="input">
        <input type="checkbox" class="item-checkbox" name="filename" value=""></input>
    </li>
    <li class="input">
        <input type="checkbox" class="item-checkbox" name="comment" value=""></input>
    </li>
</div>

<强> Jquery的

$(".select-all").on("click", function() {
    $(".item-checkbox").prop("checked", $(this).prop("checked"));
});

OR(如果由于某种原因你不能指派一个班级)

$("input[name=selectAll]").on("click", function() {
    $("input:checkbox").prop("checked", $(this).prop("checked"));
});

OR(如果您只想要在DOM中处于类似级别的复选框

$("input[name=selectAll]").on("click", function() {
    $(this).closest("div").find("input:checkbox").prop("checked", $(this).prop("checked"));
});