Das Onchange-Ereignis von „select“ oder „text“ muss manuell (per Tastatureingabe) geändert werden, um den Wert von „select“ oder „text“ auszulösen. Wenn Sie „select“ oder „text“ in js einen Wert zuweisen, kann das „onchange“-Ereignis nicht ausgelöst werden ,
Beispielsweise muss nach dem Laden der Seite ein onChange-Ereignis ausgelöst werden. In js ist es nicht möglich, document.getElementById("province").value="Hubei" zu verwenden, um einen Wert direkt zuzuweisen . Wenn Sie das onchange-Ereignis manuell auslösen möchten, müssen Sie die folgende Anweisung
document.getElementById("province").fireEvent('onchange') zu erreichen,
<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>