Есть ли простой способ узнать начальное значение выбора?

#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, чтобы проверить, было ли оно выбрано по умолчанию.

http://www.javascriptkit.com/jsref/select.shtml

Комментарии:

1. Отличный способ начать свою карьеру в SO! Давайте посмотрим, все ли ваши ответы станут принятыми ответами! 🙂

Ответ №3:

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

 $('select').find('option[selected]').val();
  

ДЕМОНСТРАЦИЯ

Ответ №4:

 $('select').each(function(){
  $(this).data('originalValue',$(this).val());
});
  

Вы могли бы сделать это на .ready. Он сохранит значения по умолчанию для каждого выбора в своем объекте данных.


О, просто перечитайте свой вопрос, и вы сказали, что это именно то, чего вы не хотите. Ну, я не думаю, что есть другой эффективный способ сделать это, поэтому я все равно оставлю его здесь.

Ответ №5:

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

 var def = $("select > option").filter(function () { 
    return this.defaultSelected; 
});
  

DEMO

Выбрано по умолчанию

Отражает значение выбранного атрибута HTML. который указывает, выбран ли параметр по умолчанию.

Комментарии:

1. Он хотел исходное выбранное значение, а не текущее выбранное значение.