在多个 div 上使用 Jquery 函数 [重复]

Posted

技术标签:

【中文标题】在多个 div 上使用 Jquery 函数 [重复]【英文标题】:Using a Jquery Function on multiple divs [duplicate] 【发布时间】:2015-07-18 02:47:33 【问题描述】:

我正在处理一个项目,在该项目中,您必须在某一时刻添加多个日期。问题是日期和时间选择器适用于第一组文本框,不适用于以下任何动态添加的文本框。

这是整个 javascript 代码(不同的日期和时间选择器以及添加额外文本框的功能):

<script type="text/javascript">
    $(document).ready(function()
        $('.end').datetimepicker(
            datepicker:false,
            format:'H:i:s',
            step:5
        );
        $('.start').datetimepicker(
            datepicker:false,
            format:'H:i:s',
            step:5
        );
        $('.date').datetimepicker(
            timepicker:false,
            lang:'de',
            format:'Y-m-d',
            formatDate:'Y-m-d'
        );
        var counter = 2;

        $("#addButton").click(function () 
            if(counter>10)
                    alert("Only 10 textboxes allow");
                    return false;
               
            var newTextBoxDiv = $(document.createElement('div'));
            newTextBoxDiv.attr("id", 'TextBoxDiv'+counter);
            newTextBoxDiv.attr("class", 'termin');

            newTextBoxDiv.after().html('<label>Termin #'+ counter + ' : </label>' +
                                       '<input type="textbox" class="date"   name="datum' + counter + '">' + 
                                       '<input type="textbox" class="start" name="start' + counter + '">' + 
                                       '<input type="textbox" class="end" name="end' + counter + '">');
            newTextBoxDiv.appendTo("#TextBoxesGroup");

            counter++;
         );
      );
</script>

【问题讨论】:

为什么不把日期选择器应用到动态元素创建之后? 是的,您必须在添加 框后对其进行增强。 【参考方案1】:

当您触发$('.end').datetimepicker 时,此时,jQuery 将搜索所有以类结尾的元素,并运行日期选择器。当您动态添加元素时,对于每个元素,您必须再次运行该函数。

点赞newTextBoxDiv.find(".end").datetimepicker();

【讨论】:

以上是关于在多个 div 上使用 Jquery 函数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery 函数中声明多个 div 选择器

使用jQuery .load函数刷新元素而不重复它

jQuery使用同一类的多个按钮返回一个值[重复]

如何在一个 HTML 中运行多个版本的 Jquery [重复]

JQUERY刷新DIV后我的JS函数不起作用[重复]

Jquery在多个div上淡入淡出