Изменение метода valQ (jQuery), похоже, не меняет DOM - PullRequest
6 голосов
/ 08 марта 2011

Выполнение $("#someId").val("newValue") не меняет DOM - Я могу получить это значение с помощью $("#someId").val(), но элемент в DOM по-прежнему не имеет атрибута значения.

Как установить значение компонента ввода, а также изменить DOM?

Я использую jQuery 1.5.1.

Ответы [ 4 ]

6 голосов
/ 08 марта 2011

.val () меняет DOM. Например это:

$("#someId").val("newValue");

alert(document.getElementById('someId').value);

оповещений «newValue».

См. ДЕМО .

Если вы хотите изменить значение по умолчанию , которое будет использоваться при сбросе формы, попробуйте следующее:

$("#someId").attr("defaultValue", "newValue");

См. DEMO .

2 голосов
/ 08 марта 2011

Ответ если вы используете firebug, есть ошибка при обновлении dom, вы должны нажать объект окна, чтобы обновить его :)

Объяснение @alex я читал комментарии ниже. при ответе @rsp, и вы, кажется, путаете dom с html-деревом a dom, это список значений в виде дерева, используемый для отслеживания значений. и да, перейдите на вкладку dom или щелкните правой кнопкой мыши по рассматриваемому элементу, а затем просмотрите его в dom, значения, изменения не отображаются в firebug, из-за соображений безопасности, которые мешают чему-либо, кроме браузера, изменять его значения or возможно, потому что ошибка, неправильно понял, и они, вероятно, работают над этим:)

1 голос
/ 25 мая 2016

Это

$("#someId").val("newValue")

изменит значение элемента ввода.

Это

$("#someId").attr("value","newValue")

изменит значение атрибута value.

Второй может помочь, если вы хотите написать элемент. Так, например:

$("#someId").val("newValue")
$("#someId").attr("value","newValue")
write($("#someId").parent())

- приведет к отображению нового значения, тогда как

$("#someId").val("newValue")
write($("#someId").parent())

- просто покажет исходное значение.

1 голос
/ 01 февраля 2014

Чтение из "rsp" ответа и обсуждения:

вы хотите изменить источник HTML, а не DOM.

Поэтому используйте:

$('#YOUR_ID option[value="YOUR_VALUE"]').attr('selected', 'selected');

Метод.val () не меняет источник HTML.

Приветствия.Stefano

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...