0

我的页面中有一个 jqgrid,在网格之外有一个如下按钮:

<input type="button" id="mybutton" value="click here" />

准备好文档后,我将使用以下代码禁用和隐藏按钮:

$(document).ready(function () {
    var btn = $('#mybutton');
    btn.prop('disabled', true);
    btn.hide();
    ...
    setupGrid();
});

setupGrid()是一个完成 jqgrid 设置的函数,并且在loadComplete事件中有这个代码

[...]
loadComplete: function() {
    //do some logic here and then...
    var btn = $('#mybutton');
    if ( mycustomlogic ) {
        btn.prop('disabled', false);
        btn.show();        
    }
}

但不幸的是,此后该按钮不再启用。它在mycustomlogic评估为 true 时正确显示,但仍处于禁用状态。我也尝试过使用btn.attr('disabled', 'disabled')btn.removeAttr('disabled')不是.prop()没有运气。

有什么建议吗?

4

1 回答 1

1

使用 jQuery UI 按钮时,最好使用 api 的方法来启用/禁用按钮http://api.jqueryui.com/button/

$(element).button('disable/enable')

这样,除了 disabled 属性之外,它还会为您处理所有其他更改

于 2012-11-20T15:45:06.390 回答