我在javascript中有这个控件而且有些错误,因为似乎每次我做出更改都不会执行。我发出警报,所以我可以看到发生了什么。我做错了什么?
controlToSet
和control1
是checbox,control2
是一个单选按钮。
function SetValues(controlToSet, control1, control2) {
if (control1.is(':checked') && control2.is(':checked')) {
$(controlToSet).attr('disabled', 'disabled');
$(controlToSet).attr('checked', false);
alert('checked and checked');
}
if (control1.is(':checked') && control2.is(':checked') == false) {
$(controlToSet).attr('disabled', false);
alert('checked an unchecked');
}
if (control1.is(':checked') == false && control2.is(':checked') == false) {
$(controlToSet).attr('disabled', 'disabled');
$(controlToSet).attr('checked', false);
alert('unchecked and unchecked');
}
}
这些控件在Web应用程序中使用,并且依赖于其他控件之一,当其中一个主题正在更改这些javascript代码应该执行的值时,但不是所有时间都发生这种情况。我做错了什么?
答案 0 :(得分:0)
您的浏览器可能使用缓存版本的javascript。尝试清除浏览器缓存,和/或重新启动浏览器。
答案 1 :(得分:0)
如果您希望在进行更改时执行代码,则必须捕获change
个事件。
您可以使用change绑定功能:
control1.add(control2).change(function(){
SetValues(controlToSet, control1, control2)
});
答案 2 :(得分:0)
确实忘记了control1.is(':checked')== false&& control2.is(':checked')?