js 触发select onchange事件

时间:2022-02-13 13:22:02

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>onchange触发事件_www.jbxue.com</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"); 
}; // www.jbxue.com
</script> 
</head> 
<body> 
省份:<select id="province" onchange= "changeProvince()"></select> 
城市:<select id="city"></select> 
</body> 
</html>