2012-11-20 44 views
0

我在我的網頁和電網外有一個jqGrid的存在就像一個按鈕,如下:的jqGrid禁用loadComplete事件的HTML按鈕

<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評估爲真,但它仍然處於禁用狀態時正確顯示。 我也嘗試使用btn.attr('disabled', 'disabled')btn.removeAttr('disabled')而不是.prop()沒有運氣。

有什麼建議嗎?

+0

擁有所有你的其他變化方式你試過'.removeProp('disabled')'? – DarkAjax

+0

@darkajax不使用removeProp!除非你計劃再也不使用這個屬性。無論如何.prop()應該工作,因爲它工作,禁用按鈕。控制檯中是否有任何錯誤? –

+0

不,我被這個困住了。控制檯不報告任何錯誤或警告... – Lorenzo

回答

1

當使用jQuery UI按鈕,最好使用API​​的方法來啓用/禁用按鈕http://api.jqueryui.com/button/

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

它處理除了剛纔disabled屬性