jQuery查找选项文本而不是使用Val

时间:2011-10-12 22:05:46

标签: jquery if-statement

我有一个下拉选择框并使用jQuery if语句我想用一些文本设置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包含逗号或fullstop“Pink,15.00”的问题。 / p>

我可以解决这个问题的方法是检查选项中的文本,而不是值。不知道如何做到这一点,例如选项:选择。

帮助表示赞赏。

由于

1 个答案:

答案 0 :(得分:4)

在第二个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");
    }  
});