如何将jQuery UI datepicker附加到动态插入的formfield?

前端之家收集整理的这篇文章主要介绍了如何将jQuery UI datepicker附加到动态插入的formfield?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含一堆输入字段的表,有点像电子表格.一些输入字段使用jQuery UI datepicker.还有一个用于添加表格行的按钮.

当我单击按钮添加表格行时,它会正确添加到DOM中.但是,datepicker小部件不会附加到该新行中的日期字段.

我怀疑答案是使用live() – 或者on() – 来调用datepicker(),但我不明白使用什么语法.下面的代码已经推动了我对jQuery理解的限制.我头疼.帮帮我?

<script type="text/javascript">
    $(function() {
        $( ".usedatepicker" ).datepicker();
    });

    $('.rowadd').live('click',function(){
        var appendTxt = '<tr><td><input class="usedatepicker" name="something" type="text" /></td></tr>';
        $("tr:last").after(appendTxt);
    });

</script>

注2:我也试过这个,有live()和on().它似乎适用于原始字段和动态插入的字段,但偶尔(至少在Chrome中).比如,它会工作三秒钟,然后停止三秒钟,然后工作三秒钟……

$(function() {
    $('.usedatepicker').live('click',function(){
        $(this).datepicker({showOn:'focus'});
    });
});

解决方法

只需在添加新行后重新绑定日期选择器.如果失败,请尝试“刷新”方法.
$('.rowadd').live('click',function(){
        var appendTxt = '<tr><td><input class="usedatepicker" name="something" type="text" /></td></tr>';
        $("tr:last").after(appendTxt);
        $(".usedatepicker").datepicker(); // or 
        $(".usedatepicker").datepicker("refresh"); 
    });

猜你在找的jQuery相关文章