2013-04-05 58 views
0

我知道這已經被問過,但我無法找到一個解決我的問題。插入選擇框的文本到數據庫

我有一個選擇框有三個選項和三個值,這些值用於執行一些使用JS的計算,所以我不能改變它們以匹配選項文本。這是計算V.A.T的金額。

我選擇這個樣子的:

<select name="tax" id="tax" class="select"> 
<option value="20">Standard 20%</option> 
<option value="0">Zero 0%</option> 
<option value="0">Exempt 0%</option> 
</select> 

這很好,但我需要插入文本到數據庫,而不是價值,因爲它需要在後端進行查看。我已經嘗試了一個javascript函數來添加一個隱藏的輸入到選擇框中,目標是選擇了這個選項,但這有點bug,看起來不正確。當我從數據庫中檢索時,我正在考慮在值的旁邊顯示文本,但是我無法區分兩個0值。

有人可以提供一些進一步的解決方案,最好的辦法。

非常感謝

+0

你寫這封信,使用AJAX的數據庫? – BenM 2013-04-05 12:40:42

+0

Duplicated:http://stackoverflow.com/questions/610336/javascript-retrieving-the-text-of-the-selected-option-in-select-element – melancia 2013-04-05 12:41:18

+0

你可以使用'data'屬性來保存你的計算值並使用'value'屬性來保存你想要存儲的值。 – dnagirl 2013-04-05 12:42:34

回答

2

你可以選擇的選項的文字用jQuery如下:

$("#tax option:selected").text(); 

你可以很容易地使用這個你的AJAX請求中,以正確的值發送到數據庫,只需將其分配給一個變量:

var the_text = $("#tax option:selected").text(); 

做不到這一點,爲什麼不只是做在JS計算的查找 - 它會讓你的生活變得更輕鬆:

<select name="tax" id="tax" class="select"> 
    <option value="standard">Standard 20%</option> 
    <option value="zero">Zero 0%</option> 
    <option value="exempt">Exempt 0%</option> 
</select> 

而且你的JS可能會是這個樣子:

var vat_amount = ($('#tax').val() == 'standard') ? 20 : 0; 
+0

肯定是吧 – 2013-04-05 12:45:56

+0

非常感謝BenM。我在JS計算中實現了查找,並且現在在下拉選項被選中時正確地傳遞該值(並且正確計算),如下所示:run:function(){ \t \t var amount = $('#net-price -1' )VAL(); \t \t VAR稅=($( '#tax1')。VAL()== '標準')? 20:0; \t \t VAR稅=($( '#tax1')。VAL()== '零')? 0:0; \t \t VAR稅=($( '#tax1')。VAL()== '豁免')? 0:0; – m1243 2013-04-05 13:01:57

+0

我忘了提及更改每個稅額,var tax,var tax1等的變量名稱。 – m1243 2013-04-05 13:38:12

0

您可以檢索使用HTML()函數JS的文本。或者,如果您只是使用POST將數據發送到服務器,請嘗試將這兩個值添加到該選項的value屬性中,然後將其拆分爲服務器端以獲取正確的數據。

相關問題