0

ブートストラップに日付ピッカーを使用しています

私の問題は、バックボーン ビューが初めて読み込まれたときに、クリック イベントがトリガーされないことです。ページの別の場所をクリックするとすぐに、すべてが正常に機能します。

誰かが私がそれを台無しにする考えを持っていますか?

HTML スニペット:

<form class="form-horizontal"><fieldset><div class="control-group">
                        <label class="control-label" for="focusedInput">id</label>
                        <div class="controls">
                          <input class="input-xlarge" id="id" type="hidden" value="1" disabled="">
                        </div>
                      </div>
        <div class="control-group">
                    <label class="control-label" for="focusedInput">Order_Ordertype</label>
                    <div class="controls">
                            <input class="input-xlarge" id="order_ordertype" type="text" disabled="" value="beeronlineshoporder">
                    </div>
                </div>
            <div class="control-group">
                            <label class="control-label" for="focusedInput">order_date</label>
                            <div class="controls"><input type="text" value="13.07.2013" data-date-format="dd.mm.yyyy" id="order_date">          </div>
                          </div>
            <div class="form-actions">
                            <button id="btn_save" class="btn">Save changes</button>
                            <button class="btn">Cancel</button>
                          </div>
            </fieldset></form>

バックボーンビューが切り取られました

events:{
    "click #order_date":"datepicker_order_date",   
    "change input":"change",
    "click #btn_save":"saveBeerOnlineShopOrder",
    "click .delete":"deleteBeerOnlineShopOrder"
},
datepicker_order_date:function () {
        $('#order_date').datepicker({autoclose: true});
},

ご意見をお寄せいただきありがとうございます

4

3 に答える 3

1

初めて#order_date日付ピッカーをクリックしたときは、まだ準備ができていないためです。日付ピッカーを一度だけ初期化する必要があり、それを実行できる最適な場所はrenderメソッドです。

于 2013-07-14T08:40:43.170 に答える
0

この場合、render メソッドは、この関数内に設定されたタイムアウト関数を書き込み$('#order_date').datepicker({autoclose: true}); ます。`render : function(eventName) { ...... ..... ....

    setTimeout(function() {
         $('#order_date').datepicker({autoclose: true});
    },0);
    return this;
    }`
于 2014-10-08T10:17:35.447 に答える
0

次のように、イベントclickをに変更します。mouseover

"mouseover #order_date":"datepicker_order_date"

あなたの関数にこれを入れてください:

datepicker_order_date:function (ev) {
        $(ev.currentTarget).datepicker({autoclose: true});
},

私にとってはうまくいきます:)

于 2015-02-04T15:41:13.003 に答える