jQuery禁用按钮不起作用

时间:2012-01-03 02:53:10

标签: jquery html

我曾经将事件绑定到我的按钮,如:

$("input[name=add]").live("click",function(){...});

但我有另一个功能让他们“启用”和“禁用”,如:

RefreshBox() {

    $("input[name=add]").each(function(){
        if(...)
            $(this).attr("disabled","disabled");
        else
            $(this).attr("disabled","");
    })

}

但事实上它并没有像我预期的那样奏效。按钮仍然可以点击,事件仍然可以顺利进行。

PS: jQuery 1.4.1 浏览器:IE8,禁用按钮后仍可正常工作。 浏览器:Chrome,禁用按钮成功。

3 个答案:

答案 0 :(得分:44)

您希望使用prop功能代替attr

$(this).prop("disabled", true);

$(this).prop("disabled", false);

修改

OP正在使用jQuery pre 1.6.1,这就是为attr disabled工作不正常(对于较旧的IE)的原因。虽然prop首选disabled,但1.6.1 attr后应该(并且确实)也可以。

答案 1 :(得分:5)

尝试$("input[type=submit]").removeAttr("disabled");启用按钮。

答案 2 :(得分:3)

您可以使用以下方法将“disabled”属性设置为false:

$("input[name='add']").attr("disabled","disabled");