"this" - текстовое поле, "new_id" - целое число.
Когда я применяю следующий фрагмент:
$(this).attr('id', this.id + '_' + new_id);
$(this).attr('name', this.name + '_' + new_id);
$(this).attr('value', 'test');
Идентификатор изменяется, имя изменяется тоже, но не значение. Если я изменю последнюю строку на это (и поэтому использую строковый литерал)
$('#mytextfield_3').attr('value', 'test');
он работает.
Любые идеи?
- EDIT - Благодаря Steerpike для быстрого тестирования плагина - я считаю, что он должен работать, но я не могу найти ошибку.
Вот еще код:
Я создаю клон, используя
clone = $(this).find('.clone_fields_container:first').clone();
"clone" теперь содержит div, у которого есть встроенные поля ввода.
После создания нового 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);
});
Текстовые поля не имеют никаких значений.