jQuery и доступ к раскрывающимся значениям

#jquery #html #input #drop-down-menu #if-statement

#jquery #HTML #ввод #выпадающее меню #if-оператор

Вопрос:

Я пытаюсь выполнять различные действия со значением, помещенным в поле ввода, в зависимости от выбора, сделанного в двух выпадающих списках. В данном случае речь идет о скорости преобразования. У меня нет проблем с получением значения поля ввода, но я немного озадачен тем, как я могу получить то, что было выбрано в раскрывающихся окнах — похоже, это работает по-другому. На данный момент все по умолчанию использует первый оператор if для преобразования кадров в секунду в миль / ч, даже если это не выбрано.

На данный момент я только «реализовал» математику для преобразования кадров в секунду в миль / ч / км / ч / МС, и, похоже, в итоге я получу множество инструкций if else, поэтому также интересно, может ли быть лучший способ для этого.

Если вы остались в замешательстве, я бы посоветовал просто взглянуть на это:http://jsfiddle.net/Deva/RPkpW /

Ответ №1:

Используйте .val() метод jQuery для получения значения выпадающего списка.

Например, чтобы получить значение выбранного <option> в <select name="types"> ,

 var selected = $('#fpsConvForm').find('select[name="types"]').val();
  

В вашей разметке не указан value атрибут для <option> элементов, поэтому (согласно спецификации) значение этих элементов по умолчанию равно тексту в тегах.

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

1. это здорово. я обновил jsfiddle, и у меня все еще есть проблемы. я знаю, что это определенно дает правильное значение, как я проверил, распечатав их. следовательно, я предполагаю, что у меня где-то неправильная логика, поскольку предполагается, что первое утверждение if всегда правильное?

2. исправьте это — я использовал один, = а не два, т. == я заметил, что 3 также работает. какие там правила?

Ответ №2:

это должно работать так же, как получение его из полей ввода, вы можете присвоить select идентификатор точно так же, как вы могли бы присвоить поле ввода, используя $ («#idhere») и извлекать значение из выбранного выпадающего списка. Разница в том, что вы присваиваете значения параметрам (см. Ниже)

      <SELECT id="example">
     <OPTION VALUE=a SELECTED>example1
     <OPTION VALUE=b>example2
     <OPTION VALUE=c>example3
     <OPTION VALUE=d>example4
     </SELECT>
  

значение, которое возвращается при нацеливании на это с помощью $ («#example»), будет эквивалентно значению любого выпадающего списка, выбранного в данный момент.

Ответ №3:

Вот некоторый рабочий код, который покажет вам, как с ним работать

http://jsfiddle.net/ppumkin/UwddM/

Измените, получите и определите, что делать, на основе значений выпадающих списков.