#javascript #jquery #dom
#javascript #jquery #dom
Вопрос:
Я хотел бы сделать это просто, не сохраняя начальное значение выбора в объекте.
если у меня есть (при загрузке dom):
<select>
<option value='1' selected>one</option>
<option value='2' >Two</option>
и чем позже я изменю выбор, чтобы был выбран другой параметр, есть ли какое-то свойство, которое хранит значение параметра, который был первоначально выбран?
Ответ №1:
Я думаю, что это хорошая работа:
$("select option[selected]").val()
скрипка:http://jsfiddle.net/4dCMd /
Проверено таким образом в разных браузерах: кажется, что он сломан в IE7 / 8, работает в последних версиях Chrome, FF и IE9
Комментарии:
1. это работает, спасибо, я думал о свойствах javascript или каком-то непонятном трюке с DOM, но это действительно нормально!
2. Но да, конечно, в проводнике сломано, поэтому мне понадобится что-то другое!
3. ответ Gigabyte — это именно то, что я искал, поскольку он является кроссбраузерным. В любом случае спасибо! 🙂
Ответ №2:
Вы должны использовать свойство defaultSelected объекта options, чтобы проверить, было ли оно выбрано по умолчанию.
Комментарии:
1. Отличный способ начать свою карьеру в SO! Давайте посмотрим, все ли ваши ответы станут принятыми ответами! 🙂
Ответ №3:
Ответ №4:
$('select').each(function(){
$(this).data('originalValue',$(this).val());
});
Вы могли бы сделать это на .ready. Он сохранит значения по умолчанию для каждого выбора в своем объекте данных.
О, просто перечитайте свой вопрос, и вы сказали, что это именно то, чего вы не хотите. Ну, я не думаю, что есть другой эффективный способ сделать это, поэтому я все равно оставлю его здесь.
Ответ №5:
простой в использовании фильтр для получения любых выбранных по умолчанию параметров:
var def = $("select > option").filter(function () {
return this.defaultSelected;
});
Выбрано по умолчанию
Отражает значение выбранного атрибута HTML. который указывает, выбран ли параметр по умолчанию.
Комментарии:
1. Он хотел исходное выбранное значение, а не текущее выбранное значение.