select 또는 text의 onchange 이벤트가 트리거되려면 select 또는 text의 값을 수동으로(키보드 입력을 통해) 변경해야 합니다. js에서 select 또는 text에 값을 할당하면 onchang 이벤트가 트리거될 수 없습니다. ,
예를 들어, 페이지가 로드된 후 onChange 이벤트가 트리거되어야 합니다. js에서는 document.getElementById("province").value="Hubei"를 사용하여 선택 또는 텍스트에 값을 직접 할당할 수 없습니다. onchange 이벤트를 수동으로 실행하려면 js에서 선택할 값을 할당한 후
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>