Jquery函数无法处理动态加载的内容(不是绑定函数)

Jquery functions not working on dynamically loaded contents(not binding function)

本文关键字:函数 绑定 处理 动态 加载 Jquery      更新时间:2023-09-26

我在javascript中有一个问题,我有一个带有添加和删除按钮的表单,点击它们时,一些表单字段会随着按钮的点击而重复和删除,在这些字段中,我也有datetimepicker,我希望它也能在生成的字段中工作,但它不起作用,尽管我使用了class而不是Id来为它们提供等函数

    $(function () {
    var now = new Date();
    $('.time_in').datetimepicker({
        defaultDate: now,
        format: 'HH:mm'
    });
});

但它只在第一个字段中工作,而不是在所有字段中工作。在更改datetimepicker的值后,我还附加了一些事件处理程序,但我对它们没有问题,我知道如何做到这一点。

我只是想问一下如何用datetimepicker赋予函数或初始化字段。。

下面是屏幕截图

场景

Hi由于您是动态创建文本框的,因此应该使用事件委派,使用jQuery的on()方法(需要jQuery版本1.7x+)。

添加

 $('body').on('focus',".time_in'", function(){
        $(this).datepicker();
    });

这是一个小演示http://jsfiddle.net/SJ7bJ/1013/

添加新元素后,需要调用代码在每个字段上添加datetimepicker。考虑重构代码,将日期选择器分配到一个单独的函数中,该函数可以从init和#add函数调用。

$(function () {
    add_time_in_datetimepicker();
});
function add_time_in_datetimepicker() {
    var now = new Date();
    $('.time_in').datetimepicker({
        defaultDate: now,
        format: 'HH:mm'
    });
});

然后在#add函数的末尾,进行相同的调用。您需要对所有要动态添加的datetimepicker类执行此操作。