2011-05-18 75 views
1

我想根據在兩個下拉框中所做的選擇對輸入框中放置的值執行不同的操作。在這種情況下,它正在轉換速度。我在獲取輸入框的值時沒有任何問題,但是我對於如何獲得在下拉框中選擇的內容有點困惑 - 它似乎沒有相同的工作。目前,即使沒有選擇,所有內容都默認爲從FPS轉換爲MPH的第一條if語句。jQuery和訪問下拉值

我只'執行'從FPS轉換到MPH/KMH/MS的數學此刻,它看起來像我要結束了很多if else語句,所以也想知道是否有可能是一個更好的方式。

如果你感到困惑,我建議只是看着它: http://jsfiddle.net/Deva/RPkpW/

回答

3

使用jQuery的.val()方法來獲得一個下拉的價值。

例如,爲了獲得在<select name="types">所選<option>的值,

var selected = $('#fpsConvForm').find('select[name="types"]').val(); 

你的標記,省略對<option>元件value屬性,因此(按照規格)的那些元素的默認值的值,以標籤中的文字。

+0

很好。我更新了jsfiddle,但仍然有問題。我知道這是肯定得到正確的價值,因爲我通過打印出來檢查。因此我假設我的邏輯錯誤在某處,因爲它假設第一條語句總是正確的? – 2011-05-18 14:56:28

+0

從頭開始的 - 我使用一個'='而不是兩個即''==我注意到3也適用。那裏的規則是什麼? – 2011-05-18 15:29:41

+0

通常,你應該堅持'==='。 http://stackoverflow.com/questions/359494/ – 2011-05-18 15:31:04

0

它應該工作一樣從輸入框獲得它,你可以分配選擇,就像你可以在輸入框中使用$(「#idhere」)的ID和拉所選放下的價值下降的差異是指定的值的選項(見下文)

 <SELECT id="example"> 
    <OPTION VALUE=a SELECTED>example1 
    <OPTION VALUE=b>example2 
    <OPTION VALUE=c>example3 
    <OPTION VALUE=d>example4 
    </SELECT> 

與$(「#示例」)瞄準了這個時候就等於什麼的下拉在選擇值時返回的值時間。