Подтвердить что ты не робот

Изменение jQuery.val не изменяет входное значение

У меня есть ввод HTML со ссылкой в ​​значении.

<input type = 'text' value = 'http://www.link.com' id = 'link' />

Я использую jQuery для изменения значения для определенного события.

$('#link').val('new value');

Приведенный выше код изменяет значение текстового поля, но не меняет значение в коде (value = 'http://www.link.com' остается неизменным). Мне также нужно изменить value = ''.

4b9b3361

Ответ 1

Используйте attr вместо.
$('#link').attr('value', 'new value');

демо

Ответ 2

Изменение значения свойства не меняет defaultValue. В коде (полученном с помощью .html() или innerHTML) атрибут value будет содержать defaultValue, а не свойство value.

Ответ 3

<script src="//code.jquery.com/jquery.min.js"></script>
<script>
function changes() {
$('#link').val('new value');
}
</script>
<button onclick="changes()">a</button>
<input type='text' value='http://www.link.com' id='link'>

Ответ 4

Это всего лишь возможный сценарий, который произошел со мной. Хорошо, если это помогает кому-то тогда здорово: я написал сложное приложение, которое где-то рядом с кодом я использовал функцию, чтобы очистить все значения текстовых полей перед их показом. Спустя некоторое время я попытался установить значение текстового поля с помощью jquery val ('value'), но я не заметил, что сразу после этого я вызвал метод ClearAllInputs.. так что это также может произойти.

Ответ 5

чтобы развернуть бит на ответ Рикардо: fooobar.com/info/110207/...

http://api.jquery.com/val/#val2

о val()

Установка значений с использованием этого метода (или с использованием свойства native value) не вызывает отправку события изменения. По этой причине соответствующие обработчики событий не будут выполнены. Если вы хотите выполнить их, вы должны вызвать .trigger( "change" ) после установки значения.