我有这个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选择器中更改选择的内容,我都会看到它。为什么呢?
答案 0 :(得分:2)
.checked
是一个DOM属性,但$uscitizenyes
和$uscitizenno
是jQuery对象,而不是DOM元素。您需要使用jQuery方法。使用:
if (!$uscitizenyes.is(":checked") && !$uscitizenno.is(":checked")) {
由于jQuery对象没有.checked
属性(通常,jQuery不使用属性,几乎所有方法都使用方法),因此您的代码始终认为这两个框都未被选中。