Câu trả lời:
Thử cái này:
$(":radio[value=foobar]")
Thao tác này sẽ chọn tất cả các nút radio có thuộc tính value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Tôi đang sử dụng jQuery 1.6 và điều này không hiệu quả với tôi: $(":radio[value=foobar]").attr('checked',true);
Thay vào đó, tôi đang sử dụng: $('[value="foobar"]').attr('checked',true);
và nó hoạt động rất tốt.
Mã thực tế tôi đang sử dụng sẽ xóa bộ đàm trước tiên và sử dụng prop
thay vìattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Điều này cũng có thể đạt được bằng cách này:
$('input[type="radio"][value="aaa"]').val();
Thao tác này sẽ chọn đài có giá trị aaa
Với .filter()
phương pháp:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
sau đó trả lại'aaa'
nói rằng bạn có một cái gì đó như thế này trong HTML:
<fieldset>
<input type="radio" name="UI_opt" value="alerter" checked> Alerter<br/>
<input type="radio" name="UI_opt" value="printer"> Printer<br/>
<input type="radio" name="UI_opt" value="consoler"> Consoler<br/>
</fieldset>
thì kiểu này hoạt động.
$("fieldset input[name='UI_opt'][checked]").val()
Một bộ chọn đầy đủ sẽ trông như thế này:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
cho rằng bạn có thể có nhiều hơn một nhóm nút radio như thế này
<input name="ShipToBillingAddress" type="radio" value="True" checked="checked">
<input name="ShipToBillingAddress" type="radio" value="False">
<input name="SomethingElse" type="radio" value="True" checked="checked">
<input name="SomethingElse" type="radio" value="False">
Sử dụng một bộ chọn ID như thế này (ví dụ tiếp theo) là không tốt vì bạn không nên có nhiều phần tử có cùng một ID. Tôi cho rằng ai đó tìm thấy câu hỏi này đã biết điều này là xấu.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Những điều sau đây về :radio
có thể có hoặc có thể không được quan tâm
Vì: radio là một phần mở rộng của jQuery và không phải là một phần của đặc tả CSS, các truy vấn sử dụng: radio không thể tận dụng hiệu suất tăng cường do phương thức querySelectorAll () DOM gốc cung cấp. Để có hiệu suất tốt hơn trong các trình duyệt hiện đại, hãy sử dụng [type = "radio"] thay thế.