0

現在、jquery動的フォームプラグインを使用してフォームフィールドを追加しています。http://sroucheray.org/blog/jquery-dynamic-form/

私の課題は、フィールドラベルが追加/複製されたときに、フィールドラベルの名前を変更しようとしています。

例えば:

電話フィールド

電話フィールド2

電話フィールド3

誰かがこのプラグインの経験があるなら、私は間違いなく援助をいただければ幸いです。ありがとう!

4

2 に答える 2

0

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);
        }
    });
});
于 2011-05-10T15:00:52.893 に答える
0

jQueryの.delegate()メソッドを調べる必要があります...それを実装するためのヘルプが必要な場合は、私に知らせてください。

于 2011-05-10T15:06:20.710 に答える