2

我已经下载了一个日历脚本,当点击输入元素时会弹出一个日历。

<script language="JavaScript">
  $(function() {
        $( ".datepicker" ).datepicker();                
  });   
</script>

<input class='datepicker' />

上面的代码工作正常。

但是当元素来自javascript时......

<script language="JavaScript">
function showElement()
{
    $('#mydiv').html("<input class='datepicker' />");

}
</script>

<div id='mydiv'></div>

单击输入时,日历不会显示。我认为下载的脚本没有错误。我想我需要做一些事情来使这个日历出现,即使元素是由 javascript 创建的。我应该修改什么?谢谢!

4

1 回答 1

1

将您的功能更改为:

function showElement()
{
    $('#mydiv').html("<input class='datepicker' />");
    $( ".datepicker" ).datepicker();

}

或者更好的是,执行以下操作:

function showDatePicker(selector) {
    $(selector).datepicker();
}

function showElement()
{
    $('#mydiv').html("<input class='datepicker' />");
    showDatePicker(".datepicker");
}

这样,您可以随时通过调用showDatePicker()与作为参数传递给函数的选择器匹配的任何元素的函数来显示日期选择器。当然,在您的情况下,您只想在调用showElement()函数后调用它

于 2013-06-15T06:58:43.187 回答