2013-10-07 60 views
1

我想克隆一个表单中的字段集,并在重命名字段集的图例和输入字段后,将其附加到其他现有字段集的末尾。如何使用jQuery更改克隆元素的ID?

一切工作正常,除了克隆字段集ID的变化。

要么我尝试通过更改ID

item.children('fieldset[id^="block_"]:first').attr('id', 'block_'+max_index); 

甚至通过

item.children('fieldset').attr('id', 'block_'+max_index); 

字段集ID保持不变?!

我已经做了一小段代码来说明这个问题:http://jsfiddle.net/Levure/4JK5T/

哪里是我的错? 非常感谢您的提示!

+1

你有没有考虑过使用模板框架? –

+0

@ DanielA.White:感谢让我发现jQuery模板框架,我不知道这些工具! ;-) – bouchon

回答

2

在代码中,项目是指你的字段集,所以行:

item.children('fieldset').attr('id', 'block_'+max_index); // <-- DOES NOT WORK 

应该改为:

item.attr('id', 'block_'+max_index); // <-- DOES WORK 

Here's the updated (working) fiddle

1

.prop

item.prop('id', 'block_'+max_index); 
0

尽量不要寻找孩子使用此

item.prop('id', 'block_'+max_index); 

DEMO

0

第一搬出MAX_INDEX从内部事件处理程序之外,

改变这一点:

item.children('fieldset').attr('id', 'block_'+max_index); // <-- DOES NOT WORK 

这样:

item.attr('id', 'block_'+max_index); 

这里提琴:http://jsfiddle.net/4JK5T/22/