"this" es un campo de texto, "new_id" es un número entero.Establecer nueva identificación con jQuery
Cuando aplico el siguiente fragmento:
$(this).attr('id', this.id + '_' + new_id);
$(this).attr('name', this.name + '_' + new_id);
$(this).attr('value', 'test');
los cambios de identificación, el nombre cambia también, pero no el valor. Si cambio la última línea a esto (y por lo tanto uso una cadena literal)
$('#mytextfield_3').attr('value', 'test');
funciona.
¿Alguna idea?
- EDIT - Gracias a Steerpike por la prueba de complemento rápido, creo que debería funcionar, pero no puedo encontrar el error.
Aquí hay algo más de código:
puedo crear el clon usando
clone = $(this).find('.clone_fields_container:first').clone();
"clon" ahora contiene un div que se ha incrustado campos de entrada.
Después de generar un nuevo id:
/** Iterate over input and select fields in container */
clone.children('input,select,textarea').each(function() {
$(this).attr('id', this.id + '_' + new_id);
$(this).attr('name', this.name + '_' + new_id);
$(this).val('test');
console.log(this);
});
Los campos de texto no tienen ningún valor.
¿La identificación sigue siendo única para el documento después de haberlo cambiado? – fredrik
sí, después de que lo cambié, es único – schneck