javascript - jquery datepicker 不处理创建的元素

标签 javascript jquery jquery-ui datepicker

我有非常简单的日期选择器设置:

这在 <head>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" media="screen,projection,tv" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" />
<script>
    $(function() {
        $('input.date').datepicker();

        $('button').on('click', function() {
            $('#orig').clone()
                .attr('id', 'else')
                .datepicker()
                .appendTo('body');
        });
    });
</script>

这在 <body>

<input type="date" id="orig" class="date">
<button>duplicate</button>

当输入被克隆时,日期选择器没有被初始化。参见http://jsfiddle.net/aMPB2/

有什么问题吗?

最佳答案

datepicker 向元素添加标记类“hasDatepicker”。您必须将其从克隆中删除:

Updated Fiddle

$(function() {
    $('input.date').datepicker();

    $('button').on('click', function() {
        var x = $('#orig').clone()
        .attr('id', 'else')
        .removeClass("hasDatepicker")    // <=== New line
        .appendTo('body')
        .datepicker();
    });
});

关于javascript - jquery datepicker 不处理创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039250/

相关文章:

javascript - 转义标题中的单引号

jQuery UI CSS 样式未应用于使用 getJSON 生成的菜单栏

javascript - TypeError : User. 保存不是一个函数

javascript - 如何等待$.getJSON()?

Javascript 错误未捕获的异常

javascript - 每次单击时,jQuery UI 都会重新加载我的选项卡

jquery - 将 jquery 自动完成的源设置为 mysql 表

php - 在 JQuery 中打开 .dialog 时出现问题

javascript - bootstrap 和 jquery 验证冲突

javascript - JQuery 烧烤 : Where to store URLs?