今天用到ajax5级联动,后台调用struts的action,这里只记录前台调用的代码

本文介绍了一个使用Java和jQuery实现的动态下拉框选择器案例。通过AJAX技术,根据用户的选择逐级更新下拉菜单选项。涉及城市、区县、等级等多个级别的联动选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>success</title>
<script src="<%=path%>/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">

function sel(){
document.getElementById("grade").disabled=true;
document.getElementById("sname").disabled=true;
document.getElementById("unit").disabled=true;
var city =  $("#city").val();
//alert(contry);
var county = $("#county")[0];//取hero下拉框
county.options.length=0;//把下拉框清空

//生成一个请选择option
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
//把option加入到所有的选项中
county.options.add(opt);
var grade = $("#grade")[0];//取hero下拉框
grade.options.length=0;//把下拉框清空
var opt1 = document.createElement("option");
opt1.value="";
opt1.text="--请选择--";
grade.options.add(opt1);

var sname = $("#sname")[0];//取hero下拉框
sname.options.length=0;//把下拉框清空
var opt2 = document.createElement("option");
opt2.value="";
opt2.text="--请选择--";
sname.options.add(opt2);
var unit = $("#unit")[0];//取hero下拉框
unit.options.length=0;//把下拉框清空
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
unit.options.add(opt);

var url = "showUnitAction!getAllcounty?unit.city="+city+"&time="+new Date();
//ajax取json数据(data)
$.getJSON(url,function(data){
   //data = eval(data);
   //遍历data
$.each(data,function(){
//取每一次遍历的内容(this)
var id = this["county"]
   var name = this["county"];
//alert(id+","+heroName);

opt = document.createElement("option");
opt.value=id;
opt.text=name;
county.options.add(opt);

});
});
}
function selcounty(){

var city =  $("#city").val();
var county =  $("#county").val();
//alert(contry);
document.getElementById("sname").disabled=true;
document.getElementById("unit").disabled=true;
document.getElementById("grade").disabled=false;
var grade = $("#grade")[0];//取hero下拉框
grade.options.length=0;//把下拉框清空
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
//把option加入到所有的选项中
grade.options.add(opt);
var sname = $("#sname")[0];//取hero下拉框
sname.options.length=0;//把下拉框清空
var opt2 = document.createElement("option");
opt2.value="";
opt2.text="--请选择--";
sname.options.add(opt2);
var unit = $("#unit")[0];//取hero下拉框
unit.options.length=0;//把下拉框清空
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
unit.options.add(opt);

var url = "showUnitAction!getAllgrade?unit.city="+city+"&unit.county="+county+"&time="+new Date();
//ajax取json数据(data)
$.getJSON(url,function(data){
   //data = eval(data);
   //遍历data
$.each(data,function(){
//取每一次遍历的内容(this)
var id = this["grade"]
   var name = this["grade"];
//alert(id+","+heroName);

opt = document.createElement("option");
opt.value=id;
opt.text=name;
grade.options.add(opt);

});
});
}

function selgrade(){

var city =  $("#city").val();
var county =  $("#county").val();
var grade =  $("#grade").val();
document.getElementById("sname").disabled=false;
document.getElementById("unit").disabled=true;
//alert(contry);
var sname = $("#sname")[0];//取hero下拉框
sname.options.length=0;//把下拉框清空
//生成一个请选择option
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
//把option加入到所有的选项中
sname.options.add(opt);
var unit = $("#unit")[0];//取hero下拉框
unit.options.length=0;//把下拉框清空
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
unit.options.add(opt);

var url = "showUnitAction!getAllname?unit.city="+city+"&unit.county="+county+"&unit.grade="+grade+"&time="+new Date();
//ajax取json数据(data)
$.getJSON(url,function(data){
   //data = eval(data);
   //遍历data
$.each(data,function(){
//取每一次遍历的内容(this)
var id = this["substationid"]
   var name = this["substationName"];
//alert(id+","+name);
opt = document.createElement("option");
opt.value=id;
opt.text=name;
sname.options.add(opt);

});
});
}
function selsname(){

var sname =  $("#sname").val();
document.getElementById("unit").disabled=false;
var unit = $("#unit")[0];//取hero下拉框
unit.options.length=0;//把下拉框清空
//生成一个请选择option
var opt = document.createElement("option");
opt.value="";
opt.text="--请选择--";
//把option加入到所有的选项中
unit.options.add(opt);

var url = "showUnitAction!getAllunit?unit.substationid="+sname+"&time="+new Date();
//ajax取json数据(data)
$.getJSON(url,function(data){
   //data = eval(data);
   //遍历data
$.each(data,function(){
//取每一次遍历的内容(this)
var id = this["unitId"]
   var name = this["unitName"];
//alert(id+","+name);
opt = document.createElement("option");
opt.value=id;
opt.text=name;
unit.options.add(opt);

});
});
}
</script>
  </head>
  
  <body>
   设备维护员 <br>
   <select id="city" onchange="sel();">
    <option value="">--请选择--</option>
    <s:iterator value="#request.citylist">
          <option value="<s:property value='city'/>"><s:property value="city"/></option>
         </s:iterator>
 </select>
 <select id="county" onchange="selcounty();">
    <option value="">--请选择--</option>
    <s:iterator value="#request.countyList">
          <option value="<s:property value='county'/>"><s:property value="county"/></option>
         </s:iterator>
 </select>
  <select id="grade" onchange="selgrade();" disabled="true">
    <option value="">--请选择--</option>
    <s:iterator value="#request.gradeList">
          <option value="<s:property value='grade'/>"><s:property value="grade"/></option>
         </s:iterator>
 </select>
<select id="sname" onchange="selsname();" disabled="true">
    <option value="">--请选择--</option>
    <s:iterator value="#request.nameList">
          <option value="<s:property value='substationid'/>"><s:property value="substationName"/></option>
         </s:iterator>
 </select>
 <select id="unit" disabled="true">
    <option value="">--请选择--</option>
    <s:iterator value="#request.unitList">
          <option value="<s:property value='unitId'/>"><s:property value="unitName"/></option>
         </s:iterator>
 </select>
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值