我有一个允许用户添加更多字段的表单。我通过克隆它们所在的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++;
}
});
我在这些字段中使用类number_only的自动数字库,如此
$('.numbers_only').autoNumeric({mDec:0});
如果其中任何一个令人困惑...当我克隆包含field_one的货运字段(外部div)并且我在克隆版本的field_one中键入时,原始中的值会更改,而新的值不会更改。我确定它与真正的I传递只影响外部div这一事实有关,但是这个东西中有很多字段,我不想单独克隆每个字段以便绑定他们。
答案 0 :(得分:1)
克隆已插入应用插件的元素以继承插件功能通常是不安全的,除非您知道该插件以克隆友好的方式应用于该元素。
我强烈建议您使用clone(false)
简单地克隆元素,然后在克隆元素上重新应用插件。