Javascript if 语句使用 :checked and . 绑定(bind)但只有一个选项有效

标签 javascript html jquery if-statement radio-button

我正在尝试创建一个覆盖按钮以禁用我正在构建的表单的自动完成功能,并希望使用 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/

相关文章:

javascript - Angular 数据问题 - 不知道如何解决

javascript - d3 聚类力布局,聚类中心距离

javascript - 如何从js代码触发颜色对话框

javascript - 缺少 ) 在使用异步等待的参数列表之后

jquery - Blogger的条件标签转化为jqu​​ery代码

javascript - 表排序在 IE 7 中不起作用

jquery - 如果同一日期使用完整日历有超过 3 个事件,如何更改整个单元格的颜色

html - 如何将 block 颜色添加到列表的 CSS 中?

javascript - 在 jQuery 中选择单选按钮后锁定选择元素的方法

javascript - 无法弄清楚为什么名称没有出现在 div 中