jqgrid在loadComplete事件中禁用html按钮

时间:2012-11-20 15:25:11

标签: jquery jqgrid jquery-1.6

我的页面中有一个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()而没有运气。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

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

这样它除了处理已禁用的属性

之外,还会为您处理所有其他更改