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();
}
}
}