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>