2013-02-08 37 views
2

我有解決不了的問題......我有這樣的jQuery代碼:jQuery的任務,得到一個選擇HTML元素的值

v=$('#sede').val(); 
$('#sede').change(function() { 
    console.log('valor de v:'+v); 
}); 

和這個網站選擇:

<select name="se" id="sede" size="1"> 
    <option value="1">Primer Elemento</option> 
    <option value="2">Segundo Elemento</option> 
    <option value="3">Tercer Elemento</option> 
    <option value="4">Cuarto Elemento</option> 
</select> 

問題是變量v僅說明了第一項的值當我選擇點擊,沒有重要的第二,第三或任何物品......

回答

5

您應該更改事件得到<select>值:

var v; 
$("#sede").change(function() { 
    v = this.value; 
    console.log("valor de v:" + v); 
}); 
+0

非常感謝!,兩天的精神折磨... – LuParra 2013-02-08 21:36:07

+0

@LuParra這不是最壞的情況;) – VisioN 2013-02-08 21:36:54

2

那是因爲你需要的select更改後重置的v值。像這樣:

var v; 
$('#sede').change(function() { 
    v = $('#sede').val(); 
    console.log('valor de v:'+v); 
}); 

請參閱DEMO提示用於演示目的。

+0

爲什麼再次調用選擇器?你已經得到了元素(通過'this') – Mathletics 2013-02-08 21:33:20

+0

是的,這是一個很好的觀點,並且我更願意使用純JS的'this.value',就像VisioN在他的回答中所做的那樣。我只是專注於解決他提出的問題。 – zakangelle 2013-02-08 21:35:19