当前位置: 代码迷 >> J2EE >> jsp中省市区级联有关问题
  详细解决方案

jsp中省市区级联有关问题

热度:23   发布时间:2016-04-21 21:52:46.0
jsp中省市区级联问题
<select class="sele" id="selProvince" name="patient.Province" onchange="loadCity(this, selCity, selArea)">
                       <option selected="selected">请选择</option>
                       <script type="text/javascript"> loadProvince(); </script>
                      </select> 省
                      &nbsp;&nbsp;&nbsp;
                      <select class="sele" id="selCity" name="patient.City" disabled="disabled" onchange="loadArea(selProvince, this, selArea)"></select>市
                      &nbsp;&nbsp;&nbsp;
                      <select class="sele" id="selArea" name="patient.County" disabled="disabled"></select> 区(县)

有一个JS文件写的都是那些省市区。现在点击省份的时候就会触发Onchange事件调用那个JS中的方法。但是问题就是我要修改该页面信息,可能一进来页面,就会已经填写了地址。但是市和区都是通过点击改变省触发onchange事件之后才会出来的,现在就不能正常显示了。
jsp select js

------解决方案--------------------
进入页面直接把那个select赋值就可以了。会自动选好的

------解决方案--------------------
如果是数据库的话 做一个ajax。不是的话在js脚本里写个 setInterval(function(){},1000) 获取值赋值··很简单啊
------解决方案--------------------
如果要设默认值的话3个下拉菜单都要设撒。要么都不设。
------解决方案--------------------
引用:
谁有纯JS写的所有省市区3个的级联。。发个给我谢谢。

这个不就是逻辑判断吗?没什么东西,写出来就是一堆定义。。当年写过一个,写了几千行。
------解决方案--------------------
引用:
谁有纯JS写的所有省市区3个的级联。。发个给我谢谢。

纯JS的话怎么和服务器通信呢?肯定用到Ajax或者Html5中的WebSocket吧

发一个我以前写的例子吧,二级联动的。三级连动原理一样的。不会引用一下问

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 
北京bj
东城
西城
     崇文
天津
            和平
            河东
            河西
 -->
<select id="city">
<option value="bj">北京</option>
<option value="tj">天津</option>
</select >
<select id="country"></select>

<script type="text/javascript">
var city = document.getElementById("city");
city.onchange = function() {
//document.getElementById("city").value;
var value = this.value;
var xhr;
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject) {
xhr = new ActiveXObject(
"Microsoft.XMLHttp"
);
}
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status == 200){
//xxx-xxx-xx
var content = xhr.responseText;
var countrys = content.split("-");
var c = document.getElementById("country");
var children = c.childNodes;
while(c.hasChildNodes()) {
c.removeChild(children[0]);
}
for(var i=0;i<countrys.length;i++) {
//alert("xxx");
var option = document.createElement("option");
option.innerHTML = countrys[i];

c.appendChild(option);
}
}
}
}
xhr.open("GET","cityServlet?city=" + value,true);
xhr.send(null);
}
</script>
</body>
</html>

服务端:

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletExceptionIOException {
Map<String, List<String>> citys = new HashMap<String, List<String>>();
  相关解决方案