ajax+jsp实现三级联动下拉框
js文件sjld.js :
- $(document).ready(
- function(){
- $.ajax({
- url:"bindZ",
- type:"get",
- dataType:"json",
- success:bindZList
- });
- }
- );
- //回调函数
- function bindZList(json){
- data=(json.a);
- for(zmc in data){
- var option = document.createElement("option");
- for(key in data[zmc]){
- document.getElementById("bindZ").appendChild(option);
- option.text=data[zmc];
- }
- }
- }
- function getKcbh(){
- //绑定之前 清空第一个以外的option
- $("#bindK").children().eq().siblings().remove();
- $("#bindZsd").children().eq().siblings().remove();
- var temp=$("#bindZ").find("option:selected").val();
- $.ajax({
- url:"bindK",
- type:"get",
- dataType:"json",
- data:"zmc="+temp,
- success:bindKList
- });
- }
- //回调函数
- function bindKList(json){
- data=(json.k);
- for(CName in data){
- var option = document.createElement("option");
- for(key in data[CName]){
- document.getElementById("bindK").appendChild(option);
- option.text=data[CName];
- }
- }
- }
- function getZsd(){
- //绑定之前 清空第一个以外的option
- $("#bindZsd").children().eq().siblings().remove();
- var temp = $("#bindK").find("option:selected").val();
- $.ajax({
- url:"bindZsd",
- type:"get",
- dataType:"json",
- data:"CName="+temp,
- success:bindZsdList
- });
- }
- //回调函数
- function bindZsdList(json){
- data=(json.s);
- for(zsdmc in data){
- var option = document.createElement("option");
- for(key in data[zsdmc]){
- document.getElementById("bindZsd").appendChild(option);
- option.text=data[zsdmc];
- }
- }
- }
action 文件sjld.java :
- //获得一级数据源
- @Action(value="/bindZ",results={@Result(name="success",type="json")})
- public String bindZ(){
- list1=this.baseservice.find(Zinfo.class);
- for(int i=;i<list1.size();i++){
- String b=list1.get(i).getZmc();
- a.add(b);
- }
- return SUCCESS;
- }
- //获得二级数据源
- @Action(value="/bindK",results={@Result(name="success",type="json")})
- public String bindK(){
- if(zmc!=null){
- //通过zmc查找CId
- String[] keys=new String[];
- keys[]="zmc";
- Object[] values=new Object[];
- values[]=zmc;
- List<Integer> CId=this.baseservice.find(Integer.class, "Zinfo", "id.CId", keys, values);
- for(int j=;j<CId.size();j++){
- String[] keys1 = {"c_id"};
- Object[] values1 = {CId.get(j)};
- list2=this.baseservice.find(Kcxx.class, "Kcxx", keys1, values1);
- String c = list2.get().getCName();
- k.add(c);
- }
- }
- return SUCCESS;
- }
- //获得三级数据源
- @Action(value="/bindZsd",results={@Result(name="success",type="json")})
- public String bindZsd(){
- if(CName!=null){
- //通过CName查找CId
- String[] keys=new String[];
- keys[]="CName";
- Object[] values=new Object[];
- values[]=CName;
- List<Integer> CId=this.baseservice.find(Integer.class, "Kcxx", "CId", keys, values);
- for(int k=;k<CId.size();k++){
- String[] keys1 = {"c_id"};
- Object[] values1 = {CId.get(k)};
- list3=this.baseservice.find(Zsd.class, "Zsd", keys1, values1);
- String d = list3.get().getZsdmc();
- s.add(d);
- }
- }
- return SUCCESS;
- }
其中定义的变量:
- private List<Zinfo> list1;
- private List<Kcxx> list2;
- private List<Zsd> list3;
- private String CName;
- private String zmc;
- private String zsdmc;
- private List<String> a=new ArrayList<String>();
- private List<String> k=new ArrayList<String>();
- private List<String> s=new ArrayList<String>();
- //省略getter、setter方法
jsp页面代码:
- <tr>
- <td>
- 章名称:
- </td>
- <td>
- <select id="bindZ" onChange="getKcbh()" style="width:100px;"></select>
- </td>
- </tr>
- <tr>
- <td>
- 课程名称:
- </td>
- <td>
- <select id="bindK" onChange="getZsd()" style="width:100px;">
- <option value="-1">--</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- 知识点名称:
- </td>
- <td>
- <select id="bindZsd" style="width:100px;">
- <option value="-1">--</option>
- </select>
- </td>
- </tr>
ajax+jsp实现三级联动下拉框的更多相关文章
- 项目总结01:JSP mysql SpringMvc下中国省市县三级联动下拉框
JSP mysql SpringMvc下中国省市县三级联动下拉框 关键词 JSP mysql数据库 SpringMvc ajax Controller层 Service层 中国地区 省 ...
- jquery+html三级联动下拉框
jquery+html三级联动下拉框及详情页面加载时的select初始化问题 html写的三个下拉框,如下: <select name="ddlQYWZYJ" id=&q ...
- Android实现三级联动下拉框 下拉列表spinner
Android实现(省.市.县)三级联动下拉框 下拉列表spinner 转载请注明出处: http://www.goteny.com/articles/2013/11/46.html http://w ...
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- JS年月日三级联动下拉框日期选择代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery+ligerform三级联动下拉框
如下为ligerform里的三级联动下拉框: var formData=[ {display:,width:,space:,type:"select",group:"区域 ...
- JQ与AJAX 省市区三级联动下拉框
用于初学者学习基本的联动下拉框,废话不多说,见代码 首先看控制器里的3个下拉框对应代码: public ActionResult GetProvinceList() { ProvinceReposit ...
- jquery+html三级联动下拉框及详情页面加载时的select初始化问题
html写的三个下拉框,如下: <select name="ddlQYWZYJ" id="ddl_QYWZYJ" class="fieldsel ...
- Android实现三级联动下拉框下拉列表spinner
原文出处:http://www.cnblogs.com/zjjne/archive/2013/10/03/3350107.html 主要实现办法:动态加载各级下拉值的适配器 在监听本级下拉框,当本级下 ...
随机推荐
- 知识点1-3:MVC设计模式
MVC代表模型-视图-控制器(Model-View-Controller),起源于20世纪70年代的Smalltalk开发社区,2003年起随着Ruby on Rails的出现才在Web上流行使用. ...
- Rabbit.Rpc
.NET轻量级RPC框架:Rabbit.Rpc 最近准备写一个.NET的管理平台应用在公司,由于存在大量的Client => Server,Server => Client的请求需求在加上 ...
- 更改ORACLE 用户的 expired状态
oracle中, 经常用户的状态会变成locked, expired 等状态, 这种情况下怎么处理呢? 首先, 如果是locked状态还好办, DBA直接执行alter user scott acco ...
- PHP - 操作符与控制结构
第3章 操作符与控制结构 学习要点: 1.字符串插入 2.操作符 3.控制结构 一.字符串插入 为了给开发人员处理字符串值提供最大的灵活性,PHP为字面插入和内容插入提供了一种方法. 双引号提供了最大 ...
- telerik 控件 SCRIPT5007: 无法获取未定义或 null 引用的属性“documentElement” (IE 文档模式)
IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有 ...
- FMXUI - UI.Dialog 示例
在 FMXUI 开源库,增加了 UI.Dialog 单元.此单元实现了跨平台的基础对话框组件.使用时引用 UI.Dialog 即可.如果需要自定义对话框的样式, 可以添加一个 TDialogStyle ...
- Spring MVC 学习笔记 json格式的输入和输出
Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dep ...
- xpath的文本获取
xpath中tidyText()获取标签下所有文本, text()本级文本, allText()各级所有文本.
- 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件
查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求. 内容 查找符号 (.pdb) 文件 查找源文件 查找符号 (.pdb) 文件 说明 在之前的 Vis ...
- 【Tips】Endnote导入IEEE Xplore文献方法《转载》
1. 在IEEE XPlore中点击“Download Citation”: 2. 选中“Citation & Abstract”和“EndNote,Procite,RefMan”两个选项: ...