我有一个下拉选择框并使用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>
我可以解决这个问题的方法是检查选项中的文本,而不是值。不知道如何做到这一点,例如选项:选择。
帮助表示赞赏。
由于
答案 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");
}
});