js代码:

$(document).ready(function() {
$("#type1").change(function(){
var type1Code=$("#type1").val();
$("#type2").empty();
if (type1Code!=0) {
$.ajax({
type:'post',
url:'getType2.action',
data:'type1Code='+type1Code,
dataType:'json',
success:function(json){
if(null != json){
$("#type2").append("<option value=''>请选择二级类型</option>");
for(var i=0; i< json.type2List.length;i++){
$("#type2").append("<option value='"
+json.type2List[i].type2Code+"'>"
+json.type2List[i].type2Name+"</option>");
}
}
},
error:function(){
alert('取二级类型异常!');
}
});
}else{
$("#type2").append("<option value=''>请选择二级类型</option>");
}
});

jsp代码:

	<td>
一级类型:
</td>
<td align="left">
<s:select id="type1" name="vo.type1" list="vo.type1List"
headerKey="0" headerValue="请选择一级类型" listKey="code"
listValue="name"></s:select>
</td>
<td>
二级类型:
</td>
<td align="left">
<select id="type2" name="vo.type2">
<option value="">
请选择二级类型
</option>
</select>
</td>

struts.xml文件配置:

 <package name="plan" extends="base-action" namespace="/plan">

         <result-types>
<result-type name="json" class="com.googlecode.jsonplugin.JSONResult" />
</result-types>
<interceptors>
<interceptor name="json" class="com.googlecode.jsonplugin.JSONResult" />
</interceptors> <action name="getType2" class="planUploadAction" method="getType2">
<interceptor-ref name="ebStackWithoutValidationAndToken" />
<result type="json"></result>
<result name="input" type="chain">init</result>
<result name="invalid.token" type="chain">init</result>
<exception-mapping result="success" exception="java.lang.Exception" />
</action> 。。。。。。 </package>

对应action中的方法:

	/**
* 取二级类型
* @return
*/
public String getType2(){
try{
String type1Code=request.getParameter("type1Code");
String type2Code="type2_"+type1Code;
List<HashMap<String, Object>> lit = new ArrayList<HashMap<String, Object>>();
JSONObject json = new JSONObject();
HashMap<String, Object> map = new HashMap<String, Object>();
//二级类别
List<SystemParamVO> type2List=sysParamTypeService.listParamByType(type2Code);
for(SystemParamVO type2:type2List){
map = new HashMap<String, Object>();
map.put("type2Code", type2.getCode());
map.put("type2Name", type2.getName());
lit.add(map);
}
json.put("type2List", lit);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.write(json.toString());
}catch (Exception e) {
log.error(e.getMessage(), e);
response.setStatus(500);
}
return null;
}

ajax,下拉框级联的更多相关文章

  1. Jquery+Ajax下拉框级联查询

  2. layui select 下拉框 级联 动态赋值 与获取选中值

    //下拉框必须在 class="layui-form" 里 不然监听事件没有作用 <div class="layui-form" > <div ...

  3. [转]html 下拉框级联

    <html> <head> <title>html 下拉框级联</title> <meta charset="UTF-8"/& ...

  4. EasyUI下拉框级联

    EasyUI用来实现后台界面还是可以的,毕竟面对的是小众群体而非广大的用户,简单为美.这里想聊的功能是一种下拉框的联动,比如我选中了下拉框A的某一项,那么下拉框B的选项就是甲乙丙丁,如果我选了A的另一 ...

  5. java 下拉框级联及相关(转)

    ActionLintsner都实现此接口,其它监听器可以监听的事件都可以被它捕获 public interface ActionListener extends EventListenerThe li ...

  6. AJAX下拉框联动

    function getProvince() { var ProName = $("#dvProv").val(); LoadProvince(ProName); } functi ...

  7. MVC+knocKout.js 实现下拉框级联

    数据库:部门表和员工表 在控制器里面的操作: public ActionResult Index3() { ViewBag.departments = new SelectList(getDepart ...

  8. 基于Bootstrap的下拉框插件bootstrap-select

    写在前面: 在这次的项目中,没有再使用liger-ui做为前端框架了,改为了Bootstrap,这次也好接触下新的技术,在学习的过程中发现,Bootstrap的一些组件基本都是采用class的形式,就 ...

  9. struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)

    针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...

随机推荐

  1. nyoj 91 阶乘之和(贪心)

    阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3! ...

  2. 关联规则之Aprior算法(购物篮分析)

    0.支持度与置信度 <mahout实战>与<机器学习实战>一起该买的记录数占所有商品记录总数的比例——支持度(整体) 买了<mahout实战>与<机器学习实战 ...

  3. I’ve seen the world,lit it up as my stage now

    I've seen the world,lit it up as my stage now 阅尽繁华 点亮红尘做舞台 Channeling angels in,the new age now 粉末登场 ...

  4. Javascript高级程序设计——面向对象之实现继承

    原型链: 构造函数中都有一个prototype属性指针,这个指针指向原型对象,而创建的实例也有指向这个原型对象的指针__proto__.当实例查找方法时先在实例上找,找不到再通过__proto__到原 ...

  5. iOS开发——高级篇——内存分析,Instruments

    一.内存分析 1.静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序,根据 ...

  6. JavaScript 与函数式编程

    原文:https://bethallchurch.github.io/JavaScript-and-Functional-Programming/ 译文:http://www.zcfy.cc/arti ...

  7. [hihoCoder#1065]全图传送

    [hihoCoder#1065]全图传送 试题描述 先知法里奥是 Dota 系列中的一个英雄.机动性强,推塔能力一流,打钱速度快,传送技能使先知可以全地图支援.在后期比拼中通过强大的兵线控制能力使得对 ...

  8. aspcms标签

    [newslist:date style=yy-m-d] 日期格式 {aspcms:sitepath}/Templates/{aspcms:defaulttemplate} 幻灯片标签{aspcms: ...

  9. ZUI前段框架简介

    一.说明 基于Bootstrap定制 ZUI继承了Bootstrap 3中的大部分基础内容,但出于与Bootstrap不同的目的,一些组件都进行了定制和修改.这些变化包括: 移除了部分插件的限制,增加 ...

  10. BZOJ 2541: [Ctsc2000]冰原探险

    Descrption 有一些矩形障碍,碰到障碍会停下,求从一个点到另一个点的最少移动步数. Sol BFS. 因为题目的特殊性质,两个矩形没有任何相邻,起始点和终点和矩形没有相邻. 所以从一个点的移动 ...