DatePicker для начальной загрузки не реагирует

Я использую 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});
},

Спасибо заранее за любые данные

3 ответа

Потому что первый раз, когда вы нажимаете #order_date DatePicker это еще не готово. Вы должны инициализировать DatePicker только один раз, и лучшее место, где вы можете сделать это render метод.

Изменить ваше событие click в mouseover, как это:

"mouseover #order_date":"datepicker_order_date"

а также

в вашей функции положить это:

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

У меня отлично работает:)

В этом случае метод рендеринга записывает некоторую установленную функцию тайм-аута внутри этой функции просто $('#order_date').datepicker({autoclose: true}); Это как `render: function(eventName) { ...... ..... ....

    setTimeout(function() {
         $('#order_date').datepicker({autoclose: true});
    },0);
    return this;
    }`
Другие вопросы по тегам