2013-10-07 61 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/