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

时间:2009-08-17 19:17:28

标签: jquery

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

   <form>
          <input type="hidden" value="PIONEER" />
          <select name="select" id="select">
            <option>Select Your Pizza</option>
            <option value="6.65">NY, 10&quot;, £6.65</option>
            <option value="8.95">NY, 12&quot;, £8.95</option>
            <option value="11.95">NY, 16&quot;, £11.95</option>
            <option value="3.45">Chicago, 7&quot;, £3.45</option>
            <option value="6.65">Chicago, 10&quot;, £6.65</option>
            <option value="8.95">Chicago, 12&quot;, £8.95</option>
            <option value="11.95">Chicago, 16&quot;, £11.95</option>
            <option value="19.95">Chicago, Beast 24&quot; x 18&quot;, £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);
}

});

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

由于

3 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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