<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事件之后才会出来的,现在就不能正常显示了。jspselectjs

解决方案 »

  1.   

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

  2.   

    如果是数据库的话 做一个ajax。不是的话在js脚本里写个 setInterval(function(){},1000) 获取值赋值··很简单啊
      

  3.   

    $("#selProvince option").each(function(){
     if($(this).val() == $("#prov").val()){
     $(this).attr("selected","selected");
     }
    });
    这样只会给省复制选中。
    $("#selCity option").each(function(){

    alert($(this).val());
     if($(this).val() == $("#cit").val())
    $(this).attr("selected","selected");
    });
    下面的方法进不去
      

  4.   

    纯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 ServletException, IOException {
    Map<String, List<String>> citys = new HashMap<String, List<String>>();
    List<String> bList = new ArrayList<String>();
    bList.add("东城");
    bList.add("西城");
    bList.add("崇文");
    citys.put("bj", bList);
    List<String> tList = new ArrayList<String>();
    tList.add("和平");
    tList.add("河东");
    tList.add("河西");
    citys.put("tj", tList);
    request.setCharacterEncoding("UTF-8");
    String city = request.getParameter("city");
    List<String> list = citys.get(city);
    String result = "";
    for(String s : list) {
    result += s + "-"; ///////
    }
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/plain");
    PrintWriter writer = response.getWriter();
    writer.print(result);
    }
      

  5.   

     说下:  select ajax 在ajax中动态添加select 的 option吧,触发用onchange事件
      

  6.   

    select下拉列表包含两种动作:
    1.初始化操作
    2.点击改变操作
    你现在实现了第2步操作,第一步的操作需要你在初始化js的时候通过遍历下拉列表进行选择。
    可以参考一下:http://blog.csdn.net/zhanglujie2008/article/details/8759235
      

  7.   

    有点无语,LZ的意思是,人家三级联动已经写好了,一个表的增删改查,在修改的时候,修改页面的数据赋值了,但是因为是联动,如果不按照顺序来点击的话市、县的数据没有联动,这样就会得不到想要的结果。LZ可以尝试下主动加载你的联动数据的思路来实现。
      

  8.   

    纯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 ServletException, IOException {
    Map<String, List<String>> citys = new HashMap<String, List<String>>();
    List<String> bList = new ArrayList<String>();
    bList.add("东城");
    bList.add("西城");
    bList.add("崇文");
    citys.put("bj", bList);
    List<String> tList = new ArrayList<String>();
    tList.add("和平");
    tList.add("河东");
    tList.add("河西");
    citys.put("tj", tList);
    request.setCharacterEncoding("UTF-8");
    String city = request.getParameter("city");
    List<String> list = citys.get(city);
    String result = "";
    for(String s : list) {
    result += s + "-"; ///////
    }
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/plain");
    PrintWriter writer = response.getWriter();
    writer.print(result);
    }
    谢谢你 我看看