JavaScript 代码不起作用

标签 javascript jquery

我有一个面板通过复选框 (chk1)“开/关”激活/停用。该面板包含一个复选框 (chk2) 和一个单选按钮 (rbtn)。 当选中单选按钮 (rbtn) 时,必须禁用该复选框。 当通过取消选中“开/关”复选框来禁用面板时,单选按钮和复选框 (chk2) 将被禁用。 问题是,当我打开启用面板的页面时,将执行来自 javascript 的代码,但是当我打开禁用面板的页面时,启用面板后,当我检查单选按钮时,javascript 不起作用,以便 chk2成为残疾人。

 $(document).ready(function (){
     $('input[id^=rbtn]').click(function () {
         SetControlEnableState($('#chk2'), $('#rbtn'));
     });
     function SetControlEnableState(controlToSet, control) {
         if (control.is(':checked')) {
            $(controlToSet).attr('disabled', 'disabled');
            alert('if');
         }
         else {
            $(controlToSet).removeAttr('disabled');
            alert('else');
        }
     }
});

面板更新后,JavaScript 代码不再可用。

最佳答案

不要在复选框上使用click事件,而是使用change事件:

    $('input[id^=rbtn]').change(function () {

这样你就会得到新的状态。 click 事件在复选框更改之前生成。

关于JavaScript 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15615255/

相关文章:

javascript - 使用相同的 jQuery 脚本重定向和修改新页面

javascript - 更改模块名称大小写时,Webpack 使 bundle 无效

javascript - fillRect 与 Canvas 对象中的背景图像

javascript - 幻灯片在单击之前在按钮图标上显示图像文件名?

javascript - Angular2 JQuery 插件集成

javascript - 如何让 JSON 数据显示在 HTML div 中?

javascript - 隐藏文本的复选框值组

javascript - 想要生成唯一的数字 id,不能使用 node-uuid 因为后端需要数字 id

jquery - 加载页面期间 CSS 过渡的悬停效果

javascript - 如何使标题在向下滚动时隐藏,并在向上滚动 5 倍时显示(如 google+)?