JavaScriptで連動しているプルダウンを変更すると明示的に変更したプルダウンは変更できるのですが
それに対応したプルダウンが変更されません。
手動だと変更されます。原因は何でしょうか?対処法などございますか?
JavaScriptで変更した場合
↑「▼市選択」が選択されない
以下プルダウンを「愛知県」に変更するJavaScript
JavaScript
1javascript: 2var select = document.getElementById("selPref").value = "23"; 3
HTML5
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>Sample</title> 6 <script src="sample.js"></script> 7</head> 8<body> 9 <select id="selPref" onchange="selPref(this);"></select> 10 <select id="selCity"></select> 11</body> 12</html> 13
JavaScript
1//都府県の選択肢 2var arr = [ 3 {cd:"", label:"▼都府県選択"}, 4 {cd:"13", label:"東京都"}, 5 {cd:"23", label:"愛知県"}, 6 {cd:"27", label:"大阪府"} 7]; 8 9//市区の選択肢 10var arrTokyo = [ 11 {cd:"", label:"▼区選択"}, 12 {cd:"1", label:"新宿区"}, 13 {cd:"2", label:"千代田区"}, 14 {cd:"3", label:"中央区"} 15]; 16var arrAichi = [ 17 {cd:"", label:"▼市選択"}, 18 {cd:"1", label:"名古屋市"}, 19 {cd:"2", label:"豊橋市"}, 20 {cd:"3", label:"岡崎市"}, 21 {cd:"4", label:"豊田市"}, 22 {cd:"5", label:"一宮市"} 23]; 24var arrOsaka = [ 25 {cd:"", label:"▼市選択"}, 26 {cd:"1", label:"大阪市"}, 27 {cd:"2", label:"堺市"}, 28 {cd:"3", label:"東大阪市"}, 29 {cd:"4", label:"枚方市"}, 30 {cd:"5", label:"豊中市"}, 31 {cd:"6", label:"吹田市"}, 32 {cd:"7", label:"高槻市"} 33]; 34 35//都府県コンボの生成 36window.onload=function(){ 37 for(var i=0;i<arr.length;i++){ 38 let op = document.createElement("option"); 39 op.value = arr[i].cd; 40 op.text = arr[i].label; 41 document.getElementById("selPref").appendChild(op); 42 } 43} 44 45//都府県が選択された時に呼び出される処理 46function selPref(obj){ 47 var targetArr; 48 if(obj.value == "13"){ 49 targetArr = arrTokyo; 50 }else if(obj.value == "23"){ 51 targetArr = arrAichi; 52 }else if(obj.value == "27"){ 53 targetArr = arrOsaka; 54 }else{ 55 targetArr = new Array(); 56 } 57 var selObj = document.getElementById('selCity'); 58 while(selObj.lastChild){ 59 selObj.removeChild(selObj.lastChild); 60 } 61 for(var i=0;i<targetArr.length;i++){ 62 let op = document.createElement("option"); 63 op.value = targetArr[i].cd; 64 op.text = targetArr[i].label; 65 selObj.appendChild(op); 66 } 67}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/06 07:02
2022/02/06 07:02
2022/02/06 07:03
2022/02/06 07:05 編集
2022/02/06 07:08
2022/02/06 07:14 編集
2022/02/06 09:11
2022/02/06 09:13
2022/02/06 13:35 編集
2022/02/06 13:47
2022/02/20 03:58