0

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

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

所以我的文本框是在运行时创建的,当我单击该文本框时,我被添加了类名作为日期选择器,它不显示日期选择器对话框,因为它是在页面加载时间创建的,所以我添加了以下代码

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

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

4

1 回答 1

0

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

这应该有效:

$(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 
   });

 });
于 2013-10-10T14:13:11.810 回答