0

我正在使用datepicker 进行引导

我的问题是,第一次加载主干视图时,不会触发点击事件。只要我点击页面上的其他地方,一切正常。

有人知道我在哪里搞砸了吗?

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_datedatepicker 时它还没有准备好。您只需要初始化一次 datepicker,最好的地方是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

将您的事件更改clickmouseover,如下所示:

"mouseover #order_date":"datepicker_order_date"

在你的函数中放这个:

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

对我来说工作正常:)

于 2015-02-04T15:41:13.003 回答