JQuery Поиск текста опции вместо использования Val - PullRequest
0 голосов
/ 13 октября 2011

У меня есть выпадающий список выбора, и с помощью jQuery, если в операторах я хочу установить элемент div с некоторым текстом, вот мой код:

<select id="drop">
    <option value="Select">Choose an option...</option> 
    <option value="Blue" stock="0">Blue</option>
    <option value="Pink,15.00" stock="1">Pink</option>
    <option value="Red" stock="2">Red</option>  
</select>



$('#drop').change(function() {

   if ($(this).val() == 'Pink,15.00') { 
     $(".price-tag > span").text("Pink 15.00");
   }

  if ($(this).val() == 'Red') { 
     $(".price-tag > span").text("Red 5.00");
  }

  else {
     $(".price-tag > span").text("5.00");

  }  
});

Приведенный выше код работает нормально, когда я выбираю опцию Red в раскрывающемся списке, но он не работает, когда выбран Pink, я считаю, что у jQuery есть проблемы с оператором if .val, содержащим запятую или точку с запятой "Pink, 15.00".

Я мог бы обойти это путем проверки текста в опции, а не значения. Не уверен, как это сделать, но что-то вроде option: selected.

Помощь оценена.

Спасибо

1 Ответ

4 голосов
/ 13 октября 2011

Добавьте else перед вторым if оператором.В настоящее время последнее условие else всегда выполняется, когда значение не является красным, перезаписывая ранее установленный «розовый».

$('#drop').change(function() {
    if ($(this).val() == 'Pink,15.00') { 
       $(".price-tag > span").text("Pink 15.00");
    }
    else if ($(this).val() == 'Red') { //Add else!
       $(".price-tag > span").text("Red 5.00");
    }
    else {
       $(".price-tag > span").text("5.00");
    }  
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...