2009-08-17 204 views
0

我有一個選擇框,我想根據所選選項更改變量的值。如何根據選擇選項更改變量的值:選中

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

}); 

但這並沒有給我正確的值,有沒有其他的方式來做到這一點。

感謝

+0

你能發佈HTML此也好嗎? – 2009-08-17 19:21:18

+0

埃米爾,你還在這個頁面! – redsquare 2009-08-17 19:22:27

+0

該警報是否顯示所選的正確值? – Senseful 2009-08-17 19:25:34

回答

0

你的indexOf通話有沒有逗號後的空格。

+0

仍然是同樣的問題,例如,如果我選擇第二個選項,而不是0.90它增加了1.30。 謝謝 – amir 2009-08-17 19:38:32

+0

我想你想indexOf(...)== 0 – 2009-08-17 20:01:11

0

選項中的文本在每個逗號後面包含一個空格。你傳遞給indexOf的字符串不會。

1

試試這個:

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