Sto provando a clonare una riga della tabella e aggiornare gli ID multipli per riflettere i campi di input. Comincio facendo questo e funziona:Cambiare vari ID dopo la clonazione in jquery
$(id).clone().attr("id", "newId");
che cambia l'id del mio riga della tabella principale per il nuovo ID. Nella riga della tabella ho altri ID che devono essere cambiati. Per esempio:
<input type="text" id="input_1">
verrà modificato in:
<input type="text" id="input_2">
ho pensato che sarebbe stato qualcosa di simile per modificare l'ID di:
$(id).clone().attr("id", "newId").("#input_1").attr("id", "input_2");
Questo non funziona. Come posso risolvere questo problema in modo che tutti i cambiamenti dell'ID?
Ho provato a utilizzare find() prima e sono riuscito a modificare uno degli attributi, ma gli altri attributi non cambiano. Mi è stato detto che è perché la prossima volta che la trovo penso che il prossimo elemento si trovi all'interno dello stesso id. Quindi se ho 3 ID da cambiare, usando find cambierei il primo, ma gli altri rimangono intatti. – rshivers
@rshivers - Ecco perché ho memorizzato il clone in una variabile. Questo memorizza l'intera struttura clonata, quindi puoi effettuare ulteriori chiamate 'find()' contro '$ clone'. Di nuovo, se ne hai diversi da aggiornare, probabilmente c'è un modo per farlo più rapidamente di uno alla volta. – user113716
è possibile modificare '$ clone.attr ('id', $ clone.attr ('id'). Replace (/ \ d + $ /, function (str) {return parseInt (str) + 1;}));' a '$ clone.attr ('id', funzione (i, attr) {return attr.replace (/ \ d + $ /, function (str) {return parseInt (str) + 1;} \t)});' – azatoth