1) 前文。一連のセレクターを含む div を複製するための jQuery メソッドを起動するリンクがあり、すべてがフォーム内にあります。
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/