为什么每次都不执行javascript代码?

时间:2013-03-22 13:14:55

标签: javascript jquery

我在javascript中有这个控件而且有些错误,因为似乎每次我做出更改都不会执行。我发出警报,所以我可以看到发生了什么。我做错了什么?

controlToSetcontrol1是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代码应该执行的值时,但不是所有时间都发生这种情况。我做错了什么?

3 个答案:

答案 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')?