2015-04-06 119 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