0

struts2でダブル選択ボックスを作成しています。最初の選択ボックスで国を選択すると、2 番目の選択ボックスで国に応じて都市が取得されます。最初の選択ボックスのonchange eventJS 関数では、アクション クラス メソッドで都市リストを作成しているという事実に基づいて、選択した値を渡し、ajax send メソッドを使用してアクションにデータを送信しています。では、2番目の選択ボックスに設定できるように、Javascriptでリストにアクセスするにはどうすればよいですか?

これが私のコードです:

<script>
function loadCity(str) {
  var xmlhttp;
  if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.open("GET", "loadcity.action?country=" + str, true);
  xmlhttp.send();
  var dat = document.getElementById("cityList").value.toString();
  window.alert(dat);
} 
</script>                                                                                      

<s:select name="country" id="country" list="countryList" label="country" onchange="loadCity(this.value)">
</s:select>
<s:select name="city" label="City" id="cityList" list="cityList">
</s:select> 

これが私のアクションクラスメソッドです:

public String loadcity() {
  cityList = new ArrayList();
  cityList.add("New Delhi");
  cityList.add("Mumbai");
  cityList.add("Moradabad");
  setCityList(cityList);
  return NONE;
}

ここcityListには正しい値がありますが、JS 関数で使用している場合、 として表示されnullます。

4

1 に答える 1