我有一个面板通过复选框 (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/