-1

私は例えば次のような名前のフィールドを持っています:

nameVariants[0].texts[en_GB]
nameVariants[1].texts[nl_BE]

私のコードでは、JavaScript で動的フィールドを追加できるため、フィールドのインデックスを更新する必要があります。しかし、最初のブラケット [0]、[1] ... のみをターゲットにして更新するにはどうすればよいですか?

すべての名前をインデックスに置き換えることにより、この方法でインデックスを維持しようとしました。

looping fields with index (idx)
$(this).attr("name", function() {
       var name = $(this).attr("name");
       name.replace(new RegExp('\\[\\d+\\]'), idx);
       return name;
});

しかし、うまくいかないようです。私の動的フィールドの名前は nameVariants[].texts[en_GB] なので、空の角かっこも見つける必要があります。

4

1 に答える 1

2

nameidx を置き換えた後、値を再割り当てする必要があります

name = name.replace(/\[\d+\]/, '[' + idx + ']')

元:

$(this).attr("name", function() {
       var name = $(this).attr("name");
       return name.replace(/\[\d+\]/, '[' + idx + ']');
});
于 2013-06-26T08:37:53.483 に答える