ajax 2级级联下拉框

js

function getqhlx(){
      var business = $("#business").val();
     // business = $("#business").find("option:selected").text();
      $("select[name=pdid]").empty();     //清空seletct的数据  
      $.ajax({
          type:"POST",                        //post请求
          url:"/admin.log.do?m=getlsqhQhlx",                          //请求后台action 根据需求请求自己的后台数据
          data:{"business":business},                   //传到后台的参数,后台需要编写get和set方法且和返回数据名相同。
          dataType:"json",                    //预期服务器返回的数据类型
          error:function(){                   //ajax错误的方法
          },   
          success:function(data){             //ajax成功的方法 在里卖弄给select的<option>标签赋值
              //向select中append、option标签
              var optionString = "";
              var beanList = data;            //返回的json数据
              if(beanList){                   //判断
                  for(var i=0; i<beanList.length; i++){ //遍历,动态赋值
                      optionString +="<option grade=\""+beanList[i].ID+"\" value=\""+beanList[i].ID+"\"";  
                      optionString += ">"+beanList[i].TYPENAME+"</option>";  //动态添加数据  
                  }  $("select[name=pdid]").append(optionString);  // 为当前name为asd的select添加数据。
              }  
          }  
      }); 
  }

html

<body>

<select name="business" id="business" class="input_a l" style="width:200px;font-size:20px" onchange="getqhlx()">
                            <c:forEach items="${list_ywlx }" var="ywlx" varStatus="index1">
                                    <option value="<c:out value="${ywlx.ID }"/>" <c:if test="${ywlx.ID == business }">selected="selected"</c:if>><c:out value="${ywlx.BUSINESSNAME }"/></option>
                            </c:forEach>
                        </select>

第一次查询默认业务类型下的取号类型

<select name="pdid" id="pdid" class="input_a l" style="width:200px;font-size:20px">
                            <c:forEach items="${list_qhlx }" var="qhlx" varStatus="index1">
                                <option value="<c:out value="${qhlx.ID }"/>" <c:if test="${qhlx.ID == pdid }">selected="selected"</c:if> ><c:out value="${qhlx.TYPENAME }"/></option>
                            </c:forEach>
                        </select>

</body>

java

/**
          * 获得临时取号类型
          * 通过业务id
          * @param request
          * @param response
          */
         public void getlsqhQhlx(HttpServletRequest request, HttpServletResponse response){
                
                try {
                    response.setContentType("text/html;charset=utf-8");
                    request.setCharacterEncoding("UTF-8");
                    String business = ServletRequestUtils.getStringParameter(request, "business", ""); //预约业务类型
                    String ywid=business;
                    String sql_qhlx = "select p.id,p.typename,p.typecode,'"+ywid+"' ywlx from  table1 p where  p.valid='1' and state='1' and p.id in(select pnb.numberid from table2 pnb where pnb.businessid='"+ywid+"')";
                    DBUtil db = new DBUtil();
                    List<HashMap<String, Object>>  list_qhlx= db.getAll(sql_qhlx);
                    out(response, JSONArray.fromObject(list_qhlx));
                    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

/**
         * 返回json对象 utf-8 application/json
         * 
         * @param response
         * @param json
         *            返回的json数据
         */
        private void out(HttpServletResponse response, Object json) {
            PrintWriter out = null;
            try {
                response.setContentType("text/html;charset=UTF-8");
                out = response.getWriter();
                out.print(json);
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (out != null) {
                    out.close();
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/w2363075992/article/details/82464575
今日推荐