現在、jquery動的フォームプラグインを使用してフォームフィールドを追加しています。http://sroucheray.org/blog/jquery-dynamic-form/
私の課題は、フィールドラベルが追加/複製されたときに、フィールドラベルの名前を変更しようとしています。
例えば:
電話フィールド
電話フィールド2
電話フィールド3
誰かがこのプラグインの経験があるなら、私は間違いなく援助をいただければ幸いです。ありがとう!
現在、jquery動的フォームプラグインを使用してフォームフィールドを追加しています。http://sroucheray.org/blog/jquery-dynamic-form/
私の課題は、フィールドラベルが追加/複製されたときに、フィールドラベルの名前を変更しようとしています。
例えば:
電話フィールド
電話フィールド2
電話フィールド3
誰かがこのプラグインの経験があるなら、私は間違いなく援助をいただければ幸いです。ありがとう!
phone#
作成されたラベルのfor属性は、が0ベースのインデックスである形式であるように見えます。次のよう#
に実行できます。
var i = 0;
var $label = $('label[for="phone' + i + '"]');
do
{
var txt = 'Phone Field';
if(i > 0)
txt += ' ' + i;
$label.text(txt);
i++;
$label = $('label[for="phone' + i + '"]');
} while($label.length);
ここでのjsFiddleの例
編集:デビッドのコメントに応えて:
1つの方法は、新しいクローンが追加されたときにフックし、追加されたクローンの数をカウントすることです(テキストで使用するため)。次に、追加したラベルの名前を変更するだけです。
var numLabels = 0;
$(document).ready(function() {
$("#duplicate").dynamicForm("#plus", "#minus", { //options
limit: 3,
afterClone: function(clone) {
numLabels++;
var txt = 'Phone Field ' + numLabels;
$('label', clone).text(txt);
}
});
});
jQueryの.delegate()メソッドを調べる必要があります...それを実装するためのヘルプが必要な場合は、私に知らせてください。