1) 序言。我有一个链接可以触发一个 jQuery 方法来克隆一个包含一堆选择器的 div,所有这些都在表单中。
2)html代码:
<a href="" id="cloneMethod">Fire</a>
<form method="post" action="">
<div class="colneDivs">
<input type="text" name="1"/>
<input type="text" name="2"/>
<select name="3"></select>
<textarea rows="3" cols="5" name="4"/>
<input type="text" name="5"/>
< ... and so on .../>
</div>
</form>
3)脚本:
var iLast, nrCamp, cat, temp, cateCampuri;
$('#cloneMethod').on('click', function(){
$('.cloneDivs:last').clone().insertAfter('.cloneDivs:last');
iLast = $('.cloneDivs:last').find('input:last');
nrCamp = parseInt(iLast.attr('name'))+1;
modiNume(nrCamp);
});
function modiNume(cat){
temp = $('.cloneDivs:last');
cateCampuri = temp.length;
for(i=0; i < cateCampuri; ++i ) {
temp.eq(i).attr('name',cat+i);
}
}
4) 问题。
a) 任何想法:
iLast = $('.cloneDivs:last').find('input:last');
改变:
.find('input:last');
一般情况下,例如:
.find('*:last');
我尝试:
.find('*').last()
它不起作用。
b)我想自动更改选择器名称和这部分:
for(i=0; i < cateCampuri; ++i ) {
temp.eq(i).attr('name',cat+i);
}
from 方法 modiNume 不起作用。所以任何想法都会受到赞赏。
编辑:我在这里做了一个 jsFiddle:http: //jsfiddle.net/JC4dv/1/