2011-07-10 136 views
0

我在JavaScript的新..這是我的問題。我有下拉列表:開關和選擇在JavaScript

<div class="spanNav-row" id="spanNav-row"> 
    <select name="timeDropList"> 

    <option value="6">6</option> 
    <option value="10">10</option> 
    <option value="15">15</option> 
    <option value="30">30</option> 
    <option value="60" selected>60</option> 
    <option value="Vac">Vacation</option> 

    </select> 
</div> 

,我有一個開關:

switch() { 

    case 6: 
    break; 
    case 10: 
    break; 
    case 15: 
    break; 
    case 30: 
    break; 
    case 60: 
    break; 
    default: 
    break; 
} 

怎麼辦您將下拉列表的值傳輸給交換機?

+0

演示:http://jsfiddle.net/userdude/PCGjU/您需要打開Chrome控制檯或Firefox Firebug控制檯才能看到輸出。 –

回答

4

標準JS:

var ddl = document.getElementById("timeDropList"); 
var selectedValue = ddl.options[ddl.selectedIndex].value; 

switch (selectedValue) {} 

的jQuery(如果你有興趣):

switch($('#timeDropList option:selected').val()) {} 

注:要引用由getElementById()下降,timeDropList也將具有Ë是ID,不只是名稱:

<select id="timeDropList" name="timeDropList"> 
+0

okey ..你能否解釋爲什麼你使用getElementsById(「spanNav-row」)而不是「timeDropList」? – Sergio

+0

由於HTMLDivElement上不存在'options' HTMLCollection,所以會引發錯誤。我建議給選擇附加一個'id'屬性,然後對它的值進行切換。 – 2011-07-10 18:36:28

+0

@Sergio,道歉,更新。我把它歸咎於小巧的上網本屏幕。我複製並粘貼了錯誤的ID ... –

1
var swi_var = document.getElementById('spanNav-row').value; 

swi_var可以在開關去

0

如果你使用jQuery,這將是一塊蛋糕:

var selectedValue = $('#spanNav-row').val(); 
switch (selectedValue) { 
    // Your switch body here. 
} 
+0

你可以用JavaScript完成同樣的事情,不需要jQuery膨脹:'document.getElementById (「id_of_select」)value;'。 – 2011-07-10 18:40:09

+0

是的,我同意@Matt,但真正的應用超出了這個範圍,爲什麼不加入jQuery? –

+0

jQuery很棒,但在這種情況下,OP沒有提及它, 「這是一個非常直接的答案,不需要它... – nnnnnn