如何根据选择选项更改变量的值:选中

我有一个选择框,我想根据所选的选项更改变量的值。

Select Your Pizza NY, 10", £6.65 NY, 12", £8.95 NY, 16", £11.95 Chicago, 7", £3.45 Chicago, 10", £6.65 Chicago, 12", £8.95 Chicago, 16", £11.95 Chicago, Beast 24" x 18", £19.95
$(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); } });

但这没有给我正确的价值,有没有其他方法可以做到这一点。

谢谢

试试这个:

 var selected_pizza; $('#select').change(function() { selected_pizza = $(this).val(); } 

您的indexOf调用在逗号后面没有空格。

选项元素中的文本在每个逗号后面包含一个空格。 传递给indexOf的字符串不会。