我的页面中有一个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()
而没有运气。
有什么建议吗?
答案 0 :(得分:1)
使用jQuery UI按钮时,最好使用api的方法启用/禁用按钮http://api.jqueryui.com/button/
$(element).button('disable/enable')
这样它除了处理已禁用的属性
之外,还会为您处理所有其他更改