咱們在用到下拉列表框select時,須要對選中的<option>選項觸發事件,其實<option>自己沒有觸發事件方法,咱們只有在select裏的onchange方法裏觸發。javascript
想添加一個option的觸發事件,在option中添加onclick 點來點去就是不會觸發事件html
又在select中添加onclick 這下可好了,沒選option呢就觸發了java
百度來的說option沒有觸發事件,須要在select中加onchange事件,雖然我曾經處理過相似的問題,用過就忘是否是豬腦子....jquery
此次記住了吧應該post
當咱們觸發select的雙擊事件時,用ondblclick方法。
當咱們要取得select的選中事件時,用document.all['name'].value來獲取,其中name是select的名稱。
若是咱們要獲得select的所有的值就用一個for循環來實現。代碼以下:
var vi = document.all['list'].length;
for(var i=0;i<vi;i++){
document.form2.list(i).value; //form2是<form>的名稱
}url
<select id="pid" onchange="gradeChange()"> <option grade="1" value="a">選項一</a> <option grade="2" value="b">選項二</a> </select> <script type="text/JavaScript"> function gradeChange(){ var objS = document.getElementById("pid"); var grade = objS.options[objS.selectedIndex].grade; alert(grade); } </script>
1
2
3
4
5
6
7
8
9
10
|
<
select
name="myselect" id="myselect">
<
option
value="opt1">選項1</
option
>
<
option
value="opt2">選項2</
option
>
<
option
value="opt3">選項3</
option
>
</
select
>
$("#myselect").change(function(){
var opt=$("#myselect").val();
...
});
|
如今有一id=test的下拉框,怎麼拿到選中的那個值呢?code
分別使用javascript原生的方法和jquery方法orm
<select id="test" name="">
<option value="1">text1</option>
<option value="2">text2</option>
</select>htm
code:
一:javascript原生的方法
1:拿到select對象: var myselect=document.getElementById("test");
2:拿到選中項的索引:var index=myselect.selectedIndex ; // selectedIndex表明的是你所選中項的index
3:拿到選中項options的value: myselect.options[index].value;
4:拿到選中項options的text: myselect.options[index].text;
二:jquery方法(前提是已經加載了jquery庫)
1:var options=$("#test option:selected"); //獲取選中的項
2:alert(options.val()); //拿到選中項的值
3:alert(options.text()); //拿到選中項的文本