jQuery - AJAX 级联变动
此篇文章主要是用来记忆使用JQUERY+AJAX技术实现 二级级联变动 :
当第一个下拉框变动时,第二个下拉列表框中也将会随之变动。
JSP:
---------------------------------------------------
<tr
onmouseover="currentcolor=this.style.backgroundColor;this.style.backgroundColor='#f0f7ff'"
onmouseout="this.style.backgroundColor=currentcolor">
<td width="10%" class="main_matter_td">
文件:
</td>
<td width="40%" align="left" class="main_matter_td">
<div align="left">
<span class="STYLE1"><input type="file" name="upfile"
id="upfile" /> </span>
</div>
</td>
<td align="left" class="main_matter_td" width="10%">
<a href="#" onclick="QueryAllBaseversionByDid();"> 标准</a></td> //此处定义是为了在第二个下拉列表框中加入value=0 “无” 选项
<td align="left" width="40%" class="main_matter_td">
<!--先选择监测场所,再选择对应的标准-->
<select name="Did" id="Did" style="width: 150px;" onchange="QueryAllBaseversionByDid();"> // 通过name=DId的数值 在action中进行查询 并将数据返回
<option value="0" >选择监测场所</option>
<c:forEach items="${listb}" var="bentity" varStatus="ss">
<option title=${bentity.name} value="${bentity.id}" title="${bentity.name}">
${bentity.name}
</option>
</c:forEach>
</select>
<select name="standardNum" id="standardNum" style="width: 150px;"> // 这是第二个下拉列表框 用于接收第一个列边框变动的结果
<option value="0" >选择应用标准</option>
</select>
</td>
</tr>
--------
<script type="text/javascript">
function QueryAllBaseversionByDid()
{
var id = $('#Did').val();
var url_check = "../Baseelement/QueryAllBaseversionByDid.action"; // 调用的ACTION
// alert(id);
$.ajax({
type:"post", // 传送方式 // 调用的ACTION地址
url:url_check,
data:"id="+id, // 传送的参数 id
success:function(msg){
var standardNum = $('#standardNum').empty(); // 使用 empty() 方法从元素移除内容。
// alert(standardNum);
standardNum.append("<option value=0 >选择对应的标准--</option>"); // 将数据加入到第二个下拉列表中
var list = eval("("+msg+")");
for(var i=0; i<list.length; i++){
standardNum.append("<option value="+list[i][0]+" title="+list[i][1]+">"+list[i][1]+"</option>");
}
}
})
}
</script>
-----------------------------
action中方法
/**
* 查看场所对应的标准版本
* @return
*/
public String QueryAllBaseversionByDid()
{
Integer bid = Integer.parseInt(get("id").toString());
//this.getRequest().setAttribute("list", this.bscs.QueryAllBaseversionByDid(bid));
this.remove("id");
this.put("list", this.bscs.QueryAllBaseversionByDid(bid));
// return Action.SUCCESS;
return null;
}
// xml配置文档 这里是重点 重点在于:返回的数据时JSON2 这是之前没有接触的 要牢记
<!-- 查看场所对应的标准版本 -->
<action name="QueryAllBaseversionByDid" class="com.hsms.Action.BaseSysConfigAction.BaseSysConfigAction" method="QueryAllBaseversionByDid" >
<result name="success" type="json2"></result>
</action>
-----
impl中方法QueryAllBaseversionByDid(bid)
public List<Baseversion> QueryAllBaseversionByDid(Integer bid)
{
return baseversionDao.getEm().createQuery("select id,beid from Baseversion where bid=?1 and pid=0").setParameter(1, bid).getResultList();
}
-------------------------------------------------------
jQuery - AJAX 级联变动的更多相关文章
- JS jquery ajax 已看1 有用
4.form中的input可以设置为readonly和disable,请问2者有什么区别? readonly不可编辑,但可以选择和复制:值可以传递到后台 disabled不能编辑,不能复制,不能选择: ...
- 继上篇-jquery ajax提交 本篇用ajax提交的数据去数据库查询
上篇讲到如何用jquery ajax提交数据至后台,后台接收并返回给ajax.https://www.cnblogs.com/tiezhuxiong/p/11943328.html 今天我们把数据传到 ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- jquery ajax解析
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对 ...
- jQuery.ajax 根据不同的Content-Type做出不同的响应
使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯.有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需 ...
- jQuery.ajax(url,[settings])
概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象. ...
- jQuery Ajax 实例 ($.ajax、$.post、$.get)
jQuery Ajax 实例 ($.ajax.$.post.$.get) 转 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. ...
- jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法
最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如 ...
- JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册
写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...
随机推荐
- zoj 2886 Look and Say
Look and Say Time Limit: 2 Seconds Memory Limit: 65536 KB The look and say sequence is defined ...
- You Are the One (区间DP)
The TV shows such as You Are the One has been very popular. In order to meet the need of boys who ar ...
- NYOJ-517-最小公倍数,大数啊~~~
最小公倍数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致.但也并非纯粹的偶然:60是个优秀的数字,它的 ...
- Go变量定义学习
package main import ( "fmt" ) //变量定义: //使用var关键字或:=定义变量 //可放在函数内,或直接放在包内 //使用var()集中定义 //函 ...
- SPOJ DCEPC11I
题目大意: 就是给定一段区间令其中的数增加一个递增序列(也就是说第一个+1,第二个+2.....) 询问操作是区间的和 这里的查询很简单,但是对于添加递增序列入区间就比较搞脑子了 我们需要一个add[ ...
- Codeforces Round #277 (Div. 2 Only)
A:SwapSort http://codeforces.com/problemset/problem/489/A 题目大意:将一个序列排序,可以交换任意两个数字,但要求交换的次数不超过n,输出任意一 ...
- SQL SERVER 2012 第三章 使用INSERT语句添加数据
INSERT [TOP (<expression>) [PERCENT] [INTO] <tabular object>[(column list)][OUTPUT <o ...
- HDU3549 最大流 裸题
EK算法 时间复杂度o(n*m*m) 因为有反向边每次bfs时间为 n*m 每次删一条边 最多m次 代码 #include<iostream> #include<string.h& ...
- MD5加密Java工具类
原文:http://www.open-open.com/code/view/1421764946296 import java.security.MessageDigest; public class ...
- 【转】C++函数的重载、覆盖和隐藏区别
网上看到的关于C++函数的重载.覆盖和隐藏区别的回答,如下(其内容来源于C++面试宝典中一道题目): a.成员函数被重载的特征:(1)相同的范围(在同一个类中):(2)函数名字相同:(3)参数不同:( ...