ajax非同步請求資料,做下拉框聯動

來源:互聯網
上載者:User
ajax非同步請求資料,做下拉框聯動

 

  ajax代碼和js代碼:

 

var xmlhttp;
  function getData() {
       //擷取省的名稱
       var provinceName = $("#select1").val();
       //建立非同步呼叫對象
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        //載入要連結的頁面
     xmlhttp.Open("POST","NodeList.jsp?query=query&name=" +encodeURI(provinceName),true);
       //將對象狀態與事件相關聯
       xmlhttp.onreadystatechange=statechange;
       //發送請求
       xmlhttp.Send();
    }
  function statechange() {
   $("#select2").empty(); //清除下拉框option
       //判斷非同步呼叫是否已經完成
       if(xmlhttp.readystate==4) {
         //判斷完成的提示代碼是否是OK狀態
         if(xmlhttp.status==200) {
          if (xmlhttp.responseText!=""&&xmlhttp.responseText!=null) {
           var city = "";
           city = xmlhttp.responseText;
           var select2 = document.getElementByIdx_x("select2");
           var option= new Array(); //定義一數組
           var option2= new Array(); //定義一數組
           var option3= new Array(); //定義一數組
           option3=city.split("*"); //字元分割     
           option = option3[0].split(",");
           option2 = option3[1].split(",");
           for (var i = 0; i
            var opt=document.createElement_x("option");
            opt.value = option2[i];  //設定option的value
            opt.innerHTML=option[i]; //設定顯示給使用者看的值
            select2.appendChild(opt);
           }
          }

         }
       }
   }

 

java調用代碼:

List r = null;
     RegionService regionService = new RegionService();
     String query = request.getParameter("query");
     if ("query".equals(query)) {
      String arr ="";

      String arr2 = "";
      String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); //請求編碼轉換
      if (!"".equals(name) && name!=null) {
        r = regionService.getRegionByName(name);
        for (int i=0; i
         arr += r.get(i).getCityName()+",";

         arr2 += r.get(i).getId()+",";

        }
      } 
      out.println(arr+"*"+arr2); //這裡很重要 
      return; //返回,如果是同一個頁面訪問的時候
     }

 

jsp代碼:

 

選擇省: 
    id="select1" onchange="getData();">
     請選擇省     
     

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.