我尝试用jQuery检查单选按钮。这是我的代码:
<form>
<div id='type'>
<input type='radio' id='radio_1' name='type' value='1' />
<input type='radio' id='radio_2' name='type' value='2' />
<input type='radio' id='radio_3' name='type' value='3' />
</div>
</form>
JavaScript:
jQuery("#radio_1").attr('checked', true);
不工作:
jQuery("input[value='1']").attr('checked', true);
不工作:
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);
不工作:
你还有别的主意吗?我错过了什么?
此外,你可以检查元素是否被选中:
if ($('.myCheckbox').attr('checked'))
{
//do others stuff
}
else
{
//do others stuff
}
你可以检查未检查的元素:
$('.myCheckbox').attr('checked',true) //Standards way
你也可以这样取消勾选:
$('.myCheckbox').removeAttr('checked')
您可以检查单选按钮:
对于jQuery等于或高于(>=)1.6的版本,请使用:
$("#radio_1").prop("checked", true);
对于(<)1.6之前的版本,使用:
$("#radio_1").attr('checked', 'checked');
这个答案要感谢Paul LeBeau的评论。我想我应该把它写下来作为一个正确的答案,因为令人惊讶的是没有答案。
唯一对我有用的(jQuery 1.12.4, Chrome 86)是:
$(".js-my-radio-button").trigger("click");
这可以完成我想要的一切—更改选定的单选按钮(无论是视觉上还是编程上)并触发事件,例如更改单选按钮。
只是像其他答案建议的那样设置“checked”属性不会改变我选择的单选按钮。
我使用的是jquery-1.11.3.js
基本启用和禁用
Tips 1:(单选按钮类型普通禁用&启用)
$("input[type=radio]").attr('disabled', false);
$("input[type=radio]").attr('disabled', true);
提示2:(ID选择器使用prop()或attr())
$("#paytmradio").prop("checked", true);
$("#sbiradio").prop("checked", false);
jQuery("#paytmradio").attr('checked', 'checked'); // or true this won't work
jQuery("#sbiradio").attr('checked', false);
Tips 3:(类选择器使用prop()或arrt())
$(".paytm").prop("checked", true);
$(".sbi").prop("checked", false);
jQuery(".paytm").attr('checked', 'checked'); // or true
jQuery(".sbi").attr('checked', false);
其他技巧
$("#paytmradio").is(":checked") // Checking is checked or not
$(':radio:not(:checked)').attr('disabled', true); // All not check radio button disabled
$('input[name=payment_type][value=1]').attr('checked', 'checked'); //input type via checked
$("input:checked", "#paytmradio").val() // get the checked value
index . html
<div class="col-md-6">
<label class="control-label" for="paymenttype">Payment Type <span style="color:red">*</span></label>
<div id="paymenttype" class="form-group" style="padding-top: inherit;">
<label class="radio-inline" class="form-control"><input type="radio" id="paytmradio" class="paytm" name="paymenttype" value="1" onclick="document.getElementById('paymentFrm').action='paytmTest.php';">PayTM</label>
<label class="radio-inline" class="form-control"><input type="radio" id="sbiradio" class="sbi" name="paymenttype" value="2" onclick="document.getElementById('paymentFrm').action='sbiTest.php';">SBI ePAY</label>
</div>
</div>