我正在尝试创建一个覆盖按钮以禁用我正在构建的表单的自动完成功能,并希望使用 Javascript 让 div“manualOverrideWarning”在选择该按钮时显示警告。问题在于该功能仅在用户第一次按下按钮时有效,但一旦关闭覆盖功能就不会删除警告。非常感谢我在代码中错误使用 Javascript 的任何和所有指示!谢谢!
HTML:
Manual Overide:
<label>No <input type="radio"
name="manualOverride" id="manualOverrideNo" value="no" checked /></label>
<label>Yes<input type="radio"
name="manualOverride" id="manualOverrideYes" value="yes" /></label>
<div id="manualOverrideWarning">test</div>
Javascript:
$('#manualOverrideYes, #manualOverrideNo').bind('change', function () {
if($('input[name="manualOverrideYes"]:checked')) {
$('#manualOverrideWarning').text('Autocomplete Disabled!');
} else {
if($$('#manualOverrideWarning').text(''));
}
});
再次感谢大家!你们都是我的英雄!
最佳答案
您需要使用 .is()根据选择器测试所选元素
if($('input[name="manualOverrideYes"]').is(':checked')) {
$('input[name="manualOverrideYes"]:checked')
返回一个始终为真值的 jQuery 包装器对象。
如果选中该复选框,则 jQuery 包装器将包含 1 个元素,否则包含 0 个元素,但仍会返回一个对象。
另一种使用它的方法是像这样测试返回对象的长度
if($('input[name="manualOverrideYes"]:checked').length) {
关于Javascript if 语句使用 :checked and . 绑定(bind)但只有一个选项有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20896108/