Mam formularza gdzie atrybuty nazwa aktualizowane, ale problem jest im przy wartości wielowymiarowych następująco:Znajdź i zastąp n-tego wystąpienia [nawiasach] wypowiedzi w struny
<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...
muszę zmienić . wartość wewnątrz nawiasów kwadratowych JavaScript nie materii jakie stanowisko one w próbowałem za pomocą następującego wyrażenia regularnego, aby dopasować wartość w nawiasach kwadratowych:
/(?<=\[)[^\]]*(?=\])/g
ale to pasuje do wszystkich wystąpień, a to, co muszę zrobić, to znaleźć i zastąpić n-tego wystąpienia.
Lub jeśli istnieje inny sposób na znalezienie i zamianę wartości w nawiasach kwadratowych bez użycia wyrażeń regularnych, to jestem uszy.
góry dzięki
Rozwiązane
Ten ostatni kod jest w następujący sposób:
$('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;
}));
});
Im nie do końca jasne, co próbujesz zrobić! używając powyższego przykładu możesz pokazać oczekiwane wyjście ... – ManseUK
Witamy w StackOverflow. Widzę, że to pytanie nie ma zbyt wielu poglądów, więc zredagowałem twój tytuł, aby wyraźnie odzwierciedlał pytanie, które zadajesz - jak znaleźć i zamienić n-te wystąpienie wyrażenia w nawiasach. –