ajax,下拉框级联
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,下拉框级联的更多相关文章
- Jquery+Ajax下拉框级联查询
- layui select 下拉框 级联 动态赋值 与获取选中值
//下拉框必须在 class="layui-form" 里 不然监听事件没有作用 <div class="layui-form" > <div ...
- [转]html 下拉框级联
<html> <head> <title>html 下拉框级联</title> <meta charset="UTF-8"/& ...
- EasyUI下拉框级联
EasyUI用来实现后台界面还是可以的,毕竟面对的是小众群体而非广大的用户,简单为美.这里想聊的功能是一种下拉框的联动,比如我选中了下拉框A的某一项,那么下拉框B的选项就是甲乙丙丁,如果我选了A的另一 ...
- java 下拉框级联及相关(转)
ActionLintsner都实现此接口,其它监听器可以监听的事件都可以被它捕获 public interface ActionListener extends EventListenerThe li ...
- AJAX下拉框联动
function getProvince() { var ProName = $("#dvProv").val(); LoadProvince(ProName); } functi ...
- MVC+knocKout.js 实现下拉框级联
数据库:部门表和员工表 在控制器里面的操作: public ActionResult Index3() { ViewBag.departments = new SelectList(getDepart ...
- 基于Bootstrap的下拉框插件bootstrap-select
写在前面: 在这次的项目中,没有再使用liger-ui做为前端框架了,改为了Bootstrap,这次也好接触下新的技术,在学习的过程中发现,Bootstrap的一些组件基本都是采用class的形式,就 ...
- struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)
针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...
随机推荐
- ASP跨域调用Webservices方法
仅用于记录与分享,直接贴代码: <script type="text/javascript"> function check(){ var title=$('#titl ...
- CentOS系统操作mysql的常用命令
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...
- IEnumerable<> ICollection <> IList<> 区别
IEnumerable< ICollection < IList区别 public interface IEnumerable { IEnumerator GetEnumerator(); ...
- POJ 1061 青蛙的约会
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 82859 A ...
- Ubuntu 14 修改默认打开方式
通过研究,有三种修改方式. 方式一: 修改路径:右上角“系统设置” -> 详细信息 -> 默认应用程序 但是,有个缺陷,可修改的项比较少. 方式二: 例如,修改pdf的打开方式,只要查看任 ...
- Javascript高级程序设计——this、闭包、函数表达式
在javascript中函数声明会被提升,而函数表达式不会被提升.当函数执行时,会创建一个执行环境和相应的作用域链,然后利用arguments和其他的命名参数的值来初始化函数的活动对象,作用域链链中所 ...
- 字符串匹配算法——KMP算法
处理字符串的过程中,难免会遇到字符匹配的问题.常用的字符匹配方法 1. 朴素模式匹配算法(Brute-Force算法) 求子串位置的定位函数Index( S, T, pos). 模式匹配:子串的定位操 ...
- Java Annotation自定义注解详解
在开发过程中总能用到注解,但是从来没有自己定义过注解.最近赋闲在家,研究整理了一番,力求知其然知其所以然. 本文会尝试描述什么是注解,以及通过一个Demo来说明如何在程序中自定义注解.Demo没有实际 ...
- expdp / impdp 用法详解
一 关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用.EXPDP和IMPDP是服务端的工具程 ...
- Codeforces 271 Div 2 B. Worms
题目链接:http://codeforces.com/contest/474/problem/B 解题报告:给你n个堆,第i个堆有ai个物品,物品的编号从1开始,第一堆的编号从1到a1,第二堆编号从a ...