在很多时候我们都会使用到联动。jquery.js是一个不错的js框架。其ajax也挺不错。下面将实现一个js联动:选择公司出来受益人。根据公司不同受益人不同。

前提是:你用引入jquery.js

<script language="javascript" src="../js/jquery-1.4.4.min.js"></script>

页面JS:

// 更换公司
function changeCompany(company_name){
var id_beneficiaryObj = $("#id_beneficiary");
var date_belong = $("#date_belong").val();
id_beneficiaryObj.empty(); // 清空
id_beneficiaryObj.prepend("<option value=''>请选择</option>"); $.ajax({
type: "POST",
dataType: "json",
url: "beneficiary_um_action.jsp",
data: { tabid: "selectCompanyUser",
company_name: company_name,
date_belong: date_belong
},
success: function (data) {
$.each(data, function (i, n) {
// 追加项
id_beneficiaryObj.append("<option value=" + n.id_beneficiary + ">" + n.beneficiary_name + "</option>");
});
}
});
}

页面html:

  <tr>
<td width="20%" align="center">公司名称</td>
<td >
<select name = "company_name" id="company_name" onchange="changeCompany(this.value);">
<option value="">合计</option>
<c:if test="${not empty dateBelongList }">
<c:forEach var="company" items="${companyList }">
<option value="<c:out value='${company.company_name }' />"><c:out value='${company.company_name_name }' /></option>
</c:forEach>
</c:if>
</select>
</td>
<td width="20%" align="center">受益人</td>
<td >
<select name="id_beneficiary" id="id_beneficiary">
<option value="">请选择</option>
</select>
</td>
</tr>

请求联调数据的java类 beneficiary_um_action.jsp:

if ("selectCompanyUser".equals(tabid))
{
if (!StringUtil.isEmpty(company_name))
{ String id_um = (String)session.getAttribute(CommonConstants.USER_ID);
String jsonString = beneficiaryUmDAO.getBeneficiaryInfoByCompanyName(company_name, id_um);
response.getWriter().write(jsonString);
}
return;
}

beneficiaryUmDAO:

/**查询_根据公司名称所属年月查询公司下受益人信息
*
* @param company_name 公司名称
* @param date_belong 所属年月
* @return
* @throws ServerException
*/
public String getBeneficiaryInfoByCompanyName(String company_name, String id_um) throws ServerException {
try {
if (StringUtil.isEmpty(company_name))
{
return null;
}
Map<String, Object> param = new HashMap<String, Object>();
param.put("company_name", company_name);
param.put("id_um", id_um);
List<BeneficiaryInfo> beneficiaryInfoList = (List<BeneficiaryInfo>) sqlMapper.queryForList("select_BeneficiaryInfo_select", param);
JSONArray jsonArray = new JSONArray();
for (BeneficiaryInfo info : beneficiaryInfoList)
{
JSONObject json = new JSONObject();
json.put("id_beneficiary", info.getId_beneficiary());
json.put("beneficiary_name", info.getBeneficiary_name());
jsonArray.put(json);
} return jsonArray.toString();
} catch (SQLException e) {
throw new ServerException(e);
}
}

就这样完成了。

Jquery调用Ajax实现联动使用json的更多相关文章

  1. 份-城市,基于jQuery的AJAX二级联动,用Struts2整合AJAX【非数据库版】

    package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashSet; import j ...

  2. jQuery调用ajax获取json格式数据

    <body> <div>点击按钮获取音乐列表</div> <input type="button" id="button&quo ...

  3. jQuery调用AJAX异步详解[转]

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  4. Asp.Net下,基于Jquery的Ajax二级联动

    最近做一个项目,要求实现二级联动效果.背景为:通过学院的选择,联动出专业选项.起初想直接用微软的控件实现Ajax效果,但是DropDownList控件会自动触发PostBack,在后台根本就不好控制, ...

  5. day63-webservice 09.jquery调用ajax

    WebService可以有很多种调用方式,除了之前说的,还可以有jquery.拿原生的Ajax做调用,拿jquery怎么调用啊?原生的能调,jquery指定也能调.原生的Ajax是通过网页直接点HTM ...

  6. Jquery调用ajax,出现一直跳转到error问题

    今天做项目的时候,遇到ajax请求,一直都是跳转到了error部分,一直没有进入success部分 后来查了一下网上的资料,有两三种说法, 一种是将dataType :'json',改成你相应的版本, ...

  7. jQuery的ajax的post请求json格式无法上传空数组

    问题描述:在和后端对接时,使用jquery的ajax的post方式向后端传递一序列约定好格式的对象数组.遇到了一个现象:如果对象中的数组是空数组,那么在请求参数中是不会出现的. 以下是数据的对比:   ...

  8. 使用JSONP,jQuery的ajax跨域获取json数据

    网上找了很多资料,写的不错,推荐下: 1.深入浅出JSONP--解决ajax跨域问题 (http://www.cnblogs.com/chopper/archive/2012/03/24/240394 ...

  9. jquery 调用ajax返回json

    ie调用可以,火狐和chrome皆失败,找了半天原因. 被屏蔽了. 火狐和chrome 对同一个域名不同端口的调用也严格限制,不给调用.只能用jsonp. 查看网络的返回状态,错误信息,F12 很重要 ...

随机推荐

  1. 使用nginx构建限频、限速、限并发的应用保护层

    使用nginx构建限频.限速.限并发的应用保护层 nginx本身提供了基础的限频.限速.限并发连接等能力. 限频 基于uri等限制某一个客户端,某类客户端持续时间段内建立连接的次数. 限速 限制客户端 ...

  2. [转帖]linux命令dd

    linux命令dd   dd 是diskdump 的含义 之前学习过 总是记不住 用的还是少. http://embeddedlinux.org.cn/emb-linux/entry-level/20 ...

  3. mysql数据库的 varchar 和 char 的区别

    char是存储字符(无论字母还是汉字都最多存255个) char(20)表示这个字段最多存20个字符 如果存了16个字符    那么也会占用20个字符的空间 varchar是存储字节(1个字母1个字节 ...

  4. 【Python基础】05_Python中的while循环

    1.程序的三大流程介绍 顺序 —— 从上到下,顺序执行 分支 —— 根据条件判断,决定代码的分支 循环 —— 让特定代码执行 2.while 基本语法 while 条件(判断 计数器 是否达到 目标次 ...

  5. LeetCode 328——奇偶链表(JAVA)

    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...

  6. Memcached和Spring集成开发

    xml配置文件 <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" facto ...

  7. HTTP API自动化测试

    重构:发现测试的价值 回到起点,测试要解决什么问题,为什么要做API自动化测试平台?做这个平台,不是为了满足老板的提倡全民自动化的口号,也不是为了浮夸的KPI,更不是宣传自动化可以解决一切问题,发现所 ...

  8. Kirinriki 2017多校

    由于每个串的长度为5000,我们去枚举两个自串的对称点(这里注意一下,枚举的时候有两种情况的区间),然后用尺取法爬一遍. ac代码: #include<iostream> #include ...

  9. lesson10总结

    package lesson10; public class Fa { String name="I am Fa"; static{  System.out.println(&qu ...

  10. Attribute预定义特性

    转载自:http://blog.csdn.net/wangyy130/article/details/44241173 一.什么是Attribute Attribute 类将预定义的系统信息或用户定义 ...