2011-10-12 43 views
0

的我有一个下拉选择框,并使用jQuery if语句我想设置一个div元素有一些文字,我的继承人代码:jQuery的查找选项的文本,而不是使用瓦尔

<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"); 

    } 
}); 

上面的代码工作正常当我在下拉列表中选择红色选项,但选择粉红色时它不工作,我相信jquery在包含逗号或全屏“粉红色,15.00”的if语句中包含问题。

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

帮助赞赏。

感谢

回答

4

第二if语句之前添加else。目前,最后的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"); 
    } 
}); 
+0

谢谢你!这么简单啊! – Shoebox