【发布时间】:2013-08-06 14:13:28
【问题描述】:
我有一个允许用户添加更多字段的表单。我通过克隆它们所在的 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 的freight_fields(外部 div)并输入 field_one 的克隆版本时,原始值会更改,而新值不会更改。我确定这与我通过的 true 仅影响外部 div 的事实有关,但是这件事中有很多字段,我不想为了单独克隆它们中的每一个绑定他们。
【问题讨论】:
-
您是否尝试过
clone(true, true),它应该复制克隆元素及其子元素的数据和事件。另外:this.name不是$(this).attr('name');如果您多次检查同一个属性,switch () {}可能比if/else if更好 -
这是duplicate吗?
-
刚试了不行
-
你能为此提供jsfiddle吗?
-
我会试一试...以前从未使用过,所以可能需要一点时间
标签: jquery