js 触发select onchange事件代码

前端技术 2023/09/02 JavaScript
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>

本文地址:https://www.stayed.cn/item/3762

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。