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 主要实现办法:动态加载各级下拉值的适配器 在监听本级下拉框,当本级下 ...
随机推荐
- [转]CentOS下性能监测工具 dstat
原文链接:http://www.bkjia.com/Linuxjc/935113.html 参考链接:https://linux.cn/article-3215-1.html,http://lhfli ...
- python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数
上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...
- java --对象流与对象的序列化
对象流 ObjectInputStream ObjectOutputStream类分别是InputStream和OutputStream的子类,对象输出流使用writeObject(Object ob ...
- servlet的url-pattern匹配规则详细描述
一.概述 在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则,但servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是由自己的规则,比较容易混淆.本文来 ...
- meanShift算法介绍
meanShift,均值漂移,在聚类.图像平滑.切割.跟踪等方面有着广泛的应用.meanShift这个概念最早是由Fukunage在1975年提出的,其最初的含义正如其名:偏移的均值向量:但随着理论的 ...
- C语言,变量与内存
一.数在计算机中的二进制表示 符号位:最高位为符号位,正数该位为0,负数该位为1: 原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值 反码:正数的反码是其本身:负数的反码是在 ...
- Eclipse用法和技巧十九:eclipse修改workspace
工作中某一个项目的文件一般都在某一个路径,大多数人都习惯固定eclipse的workspace.不过偶尔也有点别的,比如做一个大项目中穿插着做些OJ,或者别的……这个时候当然可以选择在安装一个ecli ...
- javascript笔记整理(对象遍历封装继承)
一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...
- 使用boost中的property_tree实现配置文件
property_tree是专为配置文件而写,支持xml,ini和json格式文件 ini比较简单,适合简单的配置,通常可能需要保存数组,这时xml是个不错的选择. 使用property_tr ...
- Python爬虫入门三之Urllib库的基本使用
转自http://cuiqingcai.com/947.html 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由 ...