3

非常に簡単です。要素elでbootstrapbutton('complete')を呼び出した後、

el.attr('disabled', 'disabled');​ 

el.addClass('disabled');​ 

効果はありません

これがjsfiddlehttp : //jsfiddle.net/D2RLR/2732/です

これは私が期待していることです(そのjsfiddleは「loading」で動作します):http://jsfiddle.net/xgKZd/

4

3 に答える 3

5

私はこれと同じ問題を抱えていて、別の解決策を共有したいと思いました。読み込みテキストデータの属性値を変更できます。したがって、ボタンがある場合:

<button id='myButton' data-loading-text="Loading..." type="submit">Save</button>

そして、最初に何かをして、「読み込み中...」というメッセージを表示したい

$('#myButton').button('loading');

次に、すべてが完了したら、次のようなことを行うことができます。

$('#myButton').data('loading-text','Done!').button('loading');
于 2013-03-09T20:27:55.157 に答える
5

単なるタイミングの問題のようです:disabledクラスと属性を設定する前に「待機」すると、機能します:デモ(jsfiddle)

プラグインは 0 のタイムアウトを使用します (詳細についてはソースを確認してください) が、「時間がかかる」ようです。アクションの順序を制御できるように、遅延を追加するか、ボタンの効果を自分で行うだけです。

setTimeout(function() { $('#bton').button('complete'); }, 2000);

setTimeout(function() { $('#bton').attr('disabled', 'disabled').addClass('disabled'); }, 4000);
于 2012-10-17T21:18:06.487 に答える
0

@Sherbrowは正しいですが、ボタンを無効にするために2秒待つ必要はありません。.buttonの setState メソッドは setTimeout (チェックアウトソース コード) を使用してクラスとジャグリングしているため、同様の操作を行う必要があります。

var $btn = $('#btn');
$btn.button('complete');
setTimeout(function(){ 
    $btn.attr('disabled', 'disabled').addClass('disabled'); 
}, 0);
于 2013-09-10T11:34:25.443 に答える