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();        
    }
}

しかし残念ながら、その後ボタンは再び有効になりません。trueと評価すると正しく表示mycustomlogicされますが、無効な状態のままです。私も使ってみましたがbtn.attr('disabled', 'disabled')、運が悪かったbtn.removeAttr('disabled')のではなく。.prop()

なにか提案を?

4

1 に答える 1

1

jQuery UIボタンを使用する場合は、APIのメソッドを使用してボタンを有効/無効にするのが最適ですhttp://api.jqueryui.com/button/

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

そうすれば、無効になっているプロパティだけでなく、他のすべての変更を処理できます

于 2012-11-20T15:45:06.390 に答える