"ten" jest polem tekstowym, "nowy_id" jest liczbą całkowitą.Ustaw nowy identyfikator za pomocą jQuery
Kiedy stosuje się następujący fragment:
$(this).attr('id', this.id + '_' + new_id);
$(this).attr('name', this.name + '_' + new_id);
$(this).attr('value', 'test');
zmiany id, nazwa zmienia też, ale nie wartości. Jeśli zmienię ostatnią linię na tę (i w związku z tym używam literału ciągu znaków):
$('#mytextfield_3').attr('value', 'test');
to działa.
Wszelkie pomysły?
- EDYTUJ - Dzięki Steerpike za szybki test wtyczek - uważam, że powinien działać, ale nie mogę znaleźć błędu.Oto kilka Kod:
utworzyć klon korzystając
clone = $(this).find('.clone_fields_container:first').clone();
„klon” teraz zawiera div, który osadzony pól wejściowych.
Po wygenerowaniu nowego identyfikatora:
/** 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);
});
polach tekstowych nie mają żadnych wartości.
to id jest wciąż unikalny dla dokumentu po zmianie? – fredrik
tak, po zmianie to jest wyjątkowe – schneck