jquery datepicker在动态创建datepicker时单击问题

时间:2013-10-10 13:56:00

标签: javascript jquery datepicker

我在文档就绪方法上使用jquery创建了datepicker,我的代码如下所示

$(document).ready(function(){
  $("#setdate").html('<input type="text" class="datepicker">');
 });

所以我的文本框是在运行时创建的,当我点击该文本框时,我添加了类名作为datepicker,它没有显示datepicker对话框,因为它在页面加载时创建,所以我添加了以下代码

 $(this).on("click", ".datepicker", function(){
     $(".datepicker").datepicker({
     changeMonth: true,
     changeYear: true 
   });
 });

当我第一次点击datepicker文本框时它只显示了一下,但是下一次单击它打开了datepicker对话框,任何人都知道为什么会发生这种情况,我想先点击打开datepicker怎么可能?

1 个答案:

答案 0 :(得分:0)

您的逻辑略微不同步。您只是在单击时将文本框转换为日期选择器。这意味着在第一次单击之前它只是一个常规文本框。 你想要做的是在pageload上将文本框变成一个日期选择器。

这应该有效:

$(document).ready(function(){

  //create the text box
  $("#setdate").html('<input type="text" class="datepicker">');

  //initialise the datepicker code on the text box
  $(".datepicker").datepicker({
     changeMonth: true,
     changeYear: true 
   });

 });