2013-01-12 102 views
3

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

我想選擇所有按鈕被點擊。但它不會在視覺上改變。如果你有幫助,我會很感激。jQuery的ButtonSet刷新不工作

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

+0

您是不是要找你想改變視覺選擇的所有按鈕呢? – ryadavilli

回答

1

如果你的意思是你想改變視覺選擇的所有按鈕爲好,那麼它可能是更好地使一個複選框爲好。 在任何情況下,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");} 
); 
+0

sdespont&ryadavilli | 答案是非常有幫助的。謝謝。 – user1970504

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