1

我有一个允许用户添加更多字段的表单。我通过克隆它们所在的 div 来做到这一点。我确实使用了 clone(true) 但我遇到的问题是我用来确保数字输入的 jquery 似乎不适用于新克隆的字段。当我输入它们时,它们会更改顶部字段集中的值(被克隆的那个)这是我的克隆函数

$('#more_fields').click(function(){
        if(fields >= 5)
        {
            alert("We're Sorry... You can have a maximum of 6 fieldsets for a freightquote request");
        }
        else
        {
            $('.freight_fields:first').clone(true).hide().insertAfter('.freight_fields:last').slideDown('slow');
                var last = $('.freight_fields:last');
                last.append(new_button.clone(true));
                fields++;
        }
        }); 

我正在像这样在这些字段上使用带有 numbers_only 类的自动数字库

$('.numbers_only').autoNumeric({mDec:0});

如果其中任何一个令人困惑......当我克隆包含 field_one 的 shipping_fields (外部 div)并输入 field_one 的克隆版本时,原始值会更改,而新值不会更改。我确定这与我通过的 true 仅影响外部 div 的事实有关,但是这件事中有很多字段,我不想为了单独克隆它们中的每一个绑定他们。

4

1 回答 1

2

克隆应用了插件以继承插件功能的元素通常是不安全的,除非您知道插件以克隆友好的方式应用于元素。

我强烈建议您简单地使用克隆元素clone(false),然后在克隆的元素上重新应用插件。

于 2013-08-06T14:22:10.537 回答