Bootstrap Datepicker在第二次点击时打开?

时间:2015-04-06 12:28:10

标签: jquery twitter-bootstrap-3

我有动态添加日历的场景,点击后我会获得特定日历的ID并初始化但第二次点击时会打开。以下是我的代码

$(document).on('click', '.cal', function () {

        $(this).attr('id');
        $('#'+$(this).attr('id')).datepicker({
            format: "yyyy-mm-dd",
            todayHighlight: true
        }).on('changeDate', function (e) {
            var providerid = $(this).attr('providerid');
            var facilityid = $(this).attr('facilityid');
            var resourceid = $(this).attr('resourceid');
            var clickid = $(this).attr('dateid');
            var inputDate = $.datepicker.formatDate('yy-mm-dd', new Date($('#' + $(this).attr('id')).datepicker('getDate')));
            $('#facility' + $.trim(facilityid) + ' #' + $.trim($(this).attr('dateid')) + ' span').html(inputDate);

            Scheduling_MuliView.BackDate(clickid, providerid, resourceid, facilityid, 0);

            $(this).datepicker('hide');

        });
    });

在这方面的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您不需要在类.cal上绑定点击事件,只需直接将其分配给该元素即可。

$( ".cal" ).datepicker(
   format: "yyyy-mm-dd",
   todayHighlight: true
});

答案 1 :(得分:0)

您需要知道datepicker功能意味着 init ,但不是打开选择器。

在我看来,

$(this).attr('id')).datepicker ...

将在

中调用
$(document).ready(function(){
    $('.cal').datepicker ...
});
只要将选择器添加到HTML中,就可以

或某处。