为什么检查被询问的单选按钮是否正确?

时间:2015-08-03 21:20:28

标签: jquery radio-button html-select

我有这个jQuery来检查用户选择下拉列表时是否检查了上面两个单选按钮之一

$(document).on("change", '[id$=ddlPayToIndividual]', function () {
    . . . // unrelated code elided for brevity
    var $uscitizenyes = $('[id$=rbUSCitizenOrPermResY]');
    var $uscitizenno = $('[id$=rbUSCitizenOrPermResN]');
    if (!$uscitizenyes.checked && !$uscitizenno.checked) {
        alert('You must select above whether payee is a US Citizen or Permanent Resident or not');
    }
});

我想如果既没有单选按钮被选中,我也应该只看到警报,但无论我在DropDownList / html选择器中更改选择的内容,我都会看到它。为什么呢?

1 个答案:

答案 0 :(得分:2)

.checked是一个DOM属性,但$uscitizenyes$uscitizenno是jQuery对象,而不是DOM元素。您需要使用jQuery方法。使用:

if (!$uscitizenyes.is(":checked") && !$uscitizenno.is(":checked")) {

由于jQuery对象没有.checked属性(通常,jQuery不使用属性,几乎所有方法都使用方法),因此您的代码始终认为这两个框都未被选中。