2013-02-04 2 views
2

С последними изменениями в jQuery существуют различные методы, .prop().attr().Имеет ли вход атрибут «оригинальное значение»?

Что мне интересно, если есть способ получить исходное значение ввода при загрузке страницы?

Я знаю, что я мог сделать:

$('#input').data('originalValue', $('#input').val()); 

, а затем я могу обратиться к нему через

$('#input').data('originalValue'); 

Но я подумал, что, так как я могу сказать, find out the original checked state of a checkbox я думал, может быть, есть что-то похожее на Значение?

ответ

7

Вы можете использовать вход элемента defaultValue property

Например:

$('#input')[0].defaultValue 

Обратите внимание, как при обработке объекта JQuery как массив, мы можем получить доступ непосредственно к узлу DOM и его родное свойство.

См jsFiddle demo

+0

вы также можете использовать атрибут заполнителя – salexch

+0

@salexch True. Почему бы не опубликовать его как ответ? Обратите внимание, однако, что 'placeholder' является свойством HTML5, которое ограничено определенным набором типов ввода. – Boaz

+0

это не будет полный ответ. но, может быть, вы могли бы добавить его к себе – salexch

4

Вы можете использовать jQuery.get, чтобы получить элемент и захватить .defaultValue свойство:

$('#input').get(0).defaultValue 

Или использовать jQuery.prop так JQuery 1.6:

$('#input').prop("defaultValue"); 

Аналогично для defaultChecked (радио и флажок) и defaultSelected (опция).

+0

Мне любопытно относиться к совместимости браузера 'defaultValue' ? – Hailwood

+0

Нашел ответ на этот вопрос: http://stackoverflow.com/questions/5244466/how-safe-reliable-cross-browser-compatible-is-this0-defaultvalue – Hailwood

+1

См. [** Интерфейс HTMLInputElement **] (http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-6043025). Обратите внимание, что это не означает, что вы должны писать ''; это означает, что для '' объект JavaScript, представляющий этот объект, будет содержать свойство '.defaultValue' со значением =' 1', даже когда пользователь меняет его на что-то другое. –

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