У меня есть переменная, содержащая форму с полем ввода, и я бы хотел изменить атрибут value в указанном поле ввода с помощью jquery. Пока что я могу изменить значение, но он не изменяется во внешнем html. Это что я получил до сих пор:Как изменить значение поля ввода в переменной с помощью jquery?
$("a").click(function(event) {
var form_content = "<form><input id=\"name\" value=\"Test value\"/></form>";
var test = $('<div />').html(form_content).find('#name').val('New test value').parent();
alert(test.find('#name').val());
alert(test.html());
return false;
});
также доступны на jsfiddle. Первый alert
отображает "New test value"
, но второй alert
не показывает никакого намека на то, как это новое значение сохраняется - в основном оно возвращает то же значение, что и исходная переменная form_content
.
Я посмотрел here, но не могу понять, что я делаю неправильно.
Может ли кто-нибудь помочь мне соединить точки и, возможно, дать мне понять, как я могу изменить html, хранящийся в form_content
? (Кажется, есть много примеров того, как это сделать в простой статической html, но это, к сожалению, не вариант для меня.) Спасибо!
это потому, что обновленное значение не копируется в значение атрибута .. оно сохраняется в свойстве значение входного элемента .. если вам html() он получает t он внутренний html вместе со своими атрибутами, а не свойствами –
Атрибут ввода не изменяется при изменении значения свойства с .val(). Значение входов изменится, но не attr. Проверьте эту скрипту http://jsfiddle.net/tndn7/1/ – Anton
Методы 'val' задают свойство value, если вы хотите изменить атрибут' value' вашего тега ввода, попробуйте 'attr ('val', ' новое значение теста ') '. См. Http://jsfiddle.net/tewathia/tndn7/3/ – tewathia