js 触发select onchange事件代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 触发select onchange事件代码相关的知识,希望对你有一定的参考价值。

参考技术A select
或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,本文为大家介绍下使用js触发select
onchange事件
select
或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件,
例如,在页面加载完成以后,需要触发一个onChange事件,在js中用document.getElementById("province").value="湖北";直接给select或text赋值是不行的,要想实现手动触发onchange事件,需要在js给select赋值后,加入下面的语句

document.getElementById("province").fireEvent('onchange')
来实现,
代码如下:
<head>
<meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312"
/>
<title>无标题文档</title>
<script
type="text/javascript">
var
provinces
=
new
Array();
provinces["湖北"]
=
["武汉","襄阳","随州","宜昌","十堰"];
provinces["四川"]
=
["成都","内江","达州"];
provinces["河南"]
=["郑州","南阳","信阳","漯河"];
function
changeProvince()

var
prov
=
document.getElementById("province").value;
var
city
=document.getElementById("city");
city.options.length
=0;
for(var
i
in
provinces[prov])

city.options.add(new
Option(provinces[prov][i],provinces[prov][i]));


window.onload
=
function()
var
province
=
document.getElementById("province");

for(var
index
in
provinces)

//alert(index);
province.options.add(new
Option(index,index));

province.fireEvent("onchange");
;
</script>
</head>
<body>
省份:<select
id="province"
onchange=
"changeProvince()"></select>
城市:<select
id="city"></select>
</body>
</html>

JS 实现 select中指定option选中触发事件(下拉框)

转自:http://www.cnblogs.com/moli-/p/6406170.html

 

在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发。

想添加一个option的触发事件,在option中添加onclick 点来点去就是不会触发事件

又在select中添加onclick 这下可好了,没选option呢就触发了

当我们触发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>的名称
}

 

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <select id="pid" onchange="gradeChange()">
        <option value="1">选项一</option>
        <option value="2">选项二</option>
    </select>

    <script type="text/JavaScript">
        function gradeChange() {
            var objS = document.getElementById("pid");
            var grade = objS.options[objS.selectedIndex].value;
            alert(grade);
        }
    </script>


</body>
</html>

 

 

 

 

 

 

 

 

以上是关于js 触发select onchange事件代码的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更改值时触发 Dojo Select onChange 事件

select2 onchange 事件仅有效一次

如何触发下拉框下拉事件

js原生代码给select选择框实现onchange事件

jquery触发两次onchange事件

jquery change事件不触发的问题