您的位置:首页 > 运维架构

实现 select中指定option选中触发事件

2018-03-05 11:28 501 查看
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发。 
当我们触发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>的名称    }下面介绍一个特殊情况的解决,由于option本身没有事件,所以我们不能给每个option都添加一个onclick事件。如果需要实现点击不同的option,实现不同的函数时,要怎么办,从value里取值在分析是一种办法,但如果value里的值不确定,我们又不想从value里取值怎么办呢?可以这样解决,给每个option添加一个属性,然后在赋一个值,我们在函数里取到这个属性的值就可以判断执行了。--------------------------------------------------------------------------------------------- 

-------------------------------------------------源代码------------------------------------ 

‍‍<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> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: