名前属性が更新されるフォームがありますが、問題は次のように多次元値を使用していることです。
<input type="text" name="questions[0][question]" />
<input type="text" name="questions[0][order]" />
<input type="text" name="questions[0][active]" />
<input type="text" name="answers[0][1][answer]" />
<input type="text" name="answers[0][2][answer]" />
<input type="text" name="answers[0][3][answer]" />
<input type="text" name="questions[1][question]" />
<input type="text" name="questions[1][order]" />
<input type="text" name="questions[1][active]" />
etc...
角かっこ内の値は、JavaScriptでどの位置にあるかに関係なく変更する必要があります。次の正規表現を使用して、角かっこ内の値を一致させようとしました。
/(?<=\[)[^\]]*(?=\])/g
しかし、これはすべての出現に一致し、私がする必要があるのは、何らかの形で n 番目の出現を見つけて置き換えることです。
または、正規表現を使用せずに角括弧内の値を見つけて置き換える別の方法がある場合、私はすべて耳にします。
前もって感謝します
解決済み
この最終的なコードは次のとおりです。
$('input', this).each(function(){
var name = $(this).attr('name');
var i = 0;
$(this).attr('name', name.replace(/\[.+?\]/g,function (match, pos, original) {
i++;
return (i == 1) ? "[THE REPLACED VALUE]" : match;
}));
});