2012-07-25 41 views
20

Sử dụng tính năng buttonset JQ-ui củaBỏ chọn tất cả các đài phát thanh JQuery buttonset cùng một lúc

<script> 
    $(function() { 
     $("#radio").buttonset(); 
    }); 
    </script> 


    <div id="radio"> 
     <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label> 
     <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
     <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
    </div> 

Có cách nào để bỏ chọn tất cả các nút radio của buttonset cùng một lúc?

+0

nên '$ (" #radio ")' thay vào đó '$ (" radio ")'? – fcalderan

+1

@Dev bạn đã từng sử dụng jQ-UI chưa? – heron

Trả lời

31

Bạn có thể bỏ chọn chúng chúng với những điều sau đây (cập nhật cho jQuery UI 1.9:..

$('#radio input').removeAttr('checked'); 
// Refresh the jQuery UI buttonset.     
$("#radio").buttonset('refresh'); 
​ 

Làm việc JSFiddle

+0

Đẹp. Câu trả lời tiếp tục ngắn hơn. :) – albertjan

+0

Fiddle đó dường như không chuyển thành công các nút radio thành một bộ nút jQuery UI, đó là lý do tại sao nó có vẻ hoạt động. Nó không, khá, Frédéric là đúng mà bạn phải làm việc làm mới. –

+0

Điều này không hoạt động trong jQuery 1.9 và không ảnh hưởng đến các nút jQuery UI. câu trả lời dưới đây là câu trả lời tốt hơn. – CoryDorning

15

Bạn có thể phù hợp với tất cả các nút radio và sử dụng prop() để bỏ chọn chúng

Tuy nhiên, bạn cũng phải làm mới tiện ích con nút sau khi làm như vậy:

$("#radio").find("input:radio").prop("checked", false).end() 
      .buttonset("refresh"); 
+0

Điều này là tốt !!! – karancan

13

Trước khi phiên bản jQuery 1,6

$(':radio').attr('checked', false); 

HOẶC

$(':radio').removeAttr('checked'); 

Sau jQuery 1.6+

$(':radio').prop('checked', false); 

HOẶC

$(':radio').removeProp('checked'); 
1

Phát hiện điều này một cách tình cờ ... với jQuery 1.9.1 bằng cách sử dụng tên lớp cho bộ nút còn lại tất cả các nút ban đầu không được đặt. Chưa chắc chắn nếu có những chi nhánh này, nhưng tiện dụng để biết.

$("div.myclass").buttonset(); 

<div id="myDiv" class="myclass"> 
    <input type="radio" name="myname" id="id1" value="1"><label for="id1">Label1</label> 
    <input type="radio" name="myname" id="id2" value="2"><label for="id2">Label2</label> 
    <input type="radio" name="myname" id="id3" value="3"><label for="id3">Label2</label> 
</div> 
Các vấn đề liên quan