我在struts2中创建双选框,当我在第一个选择框中选择国家时,它会在第二个选择框中根据国家/地区获取城市。在我onchange event
的第一个选择框的 JS 函数中,我通过使用 ajax 发送方法传递选定的值并发送数据到操作,基于我在我的操作类方法中创建一个城市列表的事实。那么如何访问 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
.