2015-03-29 4 views
-1

У меня есть ситуация, когда эти 3 вещи одновременно true. Что происходит?Невозможно изменить значение ввода с помощью jQuery

Это элемент в DOM:

<input id="destroy_vehicle_section_4" name="driver[workables_attributes][0][_destroy]" type="text" value="1"> 

После изменения значения атрибута с помощью метода валь JQuery (или getElementById JavaScript (в) значение.), С помощью консоли:

> $("#destroy_vehicle_section_4").val() 
<- "test" 

. .. DOM остается прежним.

можно также изменить значение с помощью метода атр JQuery, в

> $("#destroy_vehicle_section_4").attr("value") 
<- "hey" 

DOM-остается неизменным, а второй вызов и до сих пор показывают «тест»

Как это возможно?

Это означает, что мои попытки сменить ввод с использованием jQuery не удались.


N.B: Я использую jQuery Mobile.

EDIT:

Извините за плохое объяснение. Я сначала установил, используя attr («значение», «эй») и val («test»), ни один из вызовов консоли не изменил элемент DOM. Однако, если вы запустите «Getter» строку в консоли, вы получите выше

+1

* 'После изменения значения атрибута с валь method' JQuery в * вы не * изменения * Это, вы получаете его. * '3 вещи одновременно истинны * * что? –

+0

Выглядит как дубликат http://stackoverflow.com/questions/8312820/jquery-val-vs-attrvalue или http://stackoverflow.com/questions/4837133/whats-the-difference-between-jquery-val- and-attrvalue – brianvaughn

+0

To * get * (retrieve) значение, которое вы используете '.val()' jQuery ' Чтобы * установить * значение, необходимо передать переменную аргументу' .val ("hey") ' –

ответ

1

Чтобы получить значение вы используете JQuery-х .val()
Чтобы установить значение, которое Вы должны передать переменный аргументу .val("hey")

чтобы получить значение атрибута вы используете JQuery-х .attr("value")
чтобы установить значение атрибута необходимо установить второй аргумент .attr("value", "hey")

Вышеупомянутое относится также к методу .prop().
Как правильно использовать каждый из этих методов, я предлагаю вам обратиться к официальной документации jQuery.

+0

Извините за плохое объяснение.Я установил с помощью attr («значение», «эй») и val («test»), ни консольный вызов не изменил элемент DOM. –

0

Попробуйте выполнить свои функции в случае, как OnClick, OnLoad или внутри document.ready() или просто

$(function(){ 

//your functions here... 

}); 
+0

Обычно они запускаются в документе document.ready() - и это не работает, но для демонстрации я использовал консоль. –

Смежные вопросы