我有动态添加日历的场景,点击后我会获得特定日历的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');
});
});
在这方面的任何帮助将不胜感激。
答案 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中,就可以或某处。