【问题标题】:jQuery ButtonSet Refresh not workingjQuery ButtonSet 刷新不起作用
【发布时间】:2012-12-26 21:38:12
【问题描述】:

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/

【问题讨论】:

  • 你的意思是你想改变全选按钮的视觉效果吗?

标签: jquery jquery-ui checkbox refresh


【解决方案1】:

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"); }
  );

【讨论】:

    【解决方案2】:

    如果您的意思是您也想更改“全选”按钮的视觉效果,那么最好也将其设为复选框。 无论如何,sdepont 的答案是正确的,因为您需要在其中使用button 而不是buttonset

    检查这个:http://jsfiddle.net/x3QY3/1/

    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="checkbox" id="selectall" value="Select All" /><label for="selectall">Select All</label>
    

    jQuery:

      $("#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");}
      );
    

    【讨论】:

    • sdespont & ryadavilli |答案非常有帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2016-07-17
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多