我有一个选择框,我想根据所选的选项更改变量的值。
<form>
<input type="hidden" value="PIONEER" />
<select name="select" id="select">
<option>Select Your Pizza</option>
<option value="6.65">NY, 10", £6.65</option>
<option value="8.95">NY, 12", £8.95</option>
<option value="11.95">NY, 16", £11.95</option>
<option value="3.45">Chicago, 7", £3.45</option>
<option value="6.65">Chicago, 10", £6.65</option>
<option value="8.95">Chicago, 12", £8.95</option>
<option value="11.95">Chicago, 16", £11.95</option>
<option value="19.95">Chicago, Beast 24" x 18", £19.95</option>
</select>
</form>
$(function() {
var selected_pizza = "";
var toppingPrice = 0;
$('#select').change(function() {
selected_pizza = $('#select option:selected').text();
alert(selected_pizza);
});
if(selected_pizza.indexOf('Chicago,7') != 1 ) {
toppingPrice =parseFloat(0.70);
}
if(selected_pizza.indexOf('NY,10') != 1) {
toppingPrice = parseFloat(0.90);
}
if(selected_pizza.indexOf('NY,12') != 1) {
toppingPrice = parseFloat(1.05);
}
if(selected_pizza.indexOf('NY,16') != 1) {
toppingPrice = parseFloat(1.30);
}
});
但是这没有给我正确的值,还有其他方法可以做到这一点。
由于
答案 0 :(得分:1)
试试这个:
var selected_pizza;
$('#select').change(function() {
selected_pizza = $(this).val();
}
答案 1 :(得分:0)
您的indexOf调用在逗号后面没有空格。
答案 2 :(得分:0)
选项元素中的文本在每个逗号后面都包含一个空格。传递给indexOf的字符串不会。