jQuery ButtonSet刷新无法正常工作

时间:2013-01-12 11:20:31

标签: jquery jquery-ui checkbox refresh

HTML

<div id="test">    
    <input type="checkbox" id="check1" class="checkall"/><label for="check1">1</label>
    <input type="checkbox" id="check2" class="checkall"/><label for="check2">2</label>
    <input type="checkbox" id="check3" class="checkall"/><label for="check3">3</label>
</div>
<br>
<input type="button" id="selectall" value="Select All">

的jQuery

$("#test").buttonset();
$("#selectall").button();
    $("#selectall").toggle(
          function () { $("#test .checkall").prop("checked", true).buttonset("refresh"); },
          function () { $("#test .checkall").prop("checked", false).buttonset("refresh"); }
      );

我想选择单击所有按钮。但它并没有在视觉上改变。如果你帮忙,我会很感激。

演示:http://jsfiddle.net/fenerama/zv8e4/

2 个答案:

答案 0 :(得分:4)

在这种情况下,

Buttonset不适合调用。您需要使用button方法

http://jsfiddle.net/zv8e4/3/

$("#selectall").toggle(
      function () { $("#test .checkall").prop("checked", true).button("refresh"); },
      function () { $("#test .checkall").prop("checked", false).button("refresh"); }
  );

答案 1 :(得分:1)

如果您的意思是想要更改“全选”按钮的视觉效果,那么也可以将其设为复选框。 在任何情况下,sdepont的答案都是正确的,因为您需要在button使用buttonset,而不是<div id="test"> <input type="checkbox" id="check1" class="checkall"/><label for="check1">1</label> <input type="checkbox" id="check2" class="checkall"/><label for="check2">2</label> <input type="checkbox" id="check3" class="checkall"/><label for="check3">3</label> </div> <br> <input type="checkbox" id="selectall" value="Select All" /><label for="selectall">Select All</label>

请检查:http://jsfiddle.net/x3QY3/1/

HTML:

  $("#test").buttonset();
  $("#selectall").button();

$("#selectall").toggle(
      function () { $("#test .checkall").prop("checked", true).button("refresh"); $("#selectall").prop("checked", true).button("refresh");},
      function () { $("#test .checkall").prop("checked", false).button("refresh"); $("#selectall").prop("checked", false).button("refresh");}
  );

JQuery的:

{{1}}