2015-04-06 121 views
1

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

$(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

如何添加日历触发'.cal'元素? – mzografski 2015-04-06 12:31:00

+0

.cal是动态创建的 – Sherry 2015-04-06 13:00:51

回答

0

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

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

你需要知道的是,datepicker功能是指初始化,但不开放捡拾工具。

在我看来,在

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

会在

$(document).ready(function(){ 
    $('.cal').datepicker ... 
}); 

或其他地方,只要你添加选择器到HTML调用。

+0

不工作.cal是在运行时动态创建的 – Sherry 2015-04-06 13:01:17

+0

@ user2689563然后请给我创建cal的代码。你需要在这之后添加这行'$(“.cal”)......'。 – Turtle 2015-04-06 13:40:27