在很多时候我们都会使用到联动。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. 配置了Ubuntu环境变量,系统启动不了

    修改了etc/init.d/rcS文件后重启后Ubuntu起不来了, 开启按shift+e或者直接选择,进入恢复模式 进入root shell 执行这个命令 可以有写入权限,重新挂载 mount  - ...

  2. SpringBoot 使用WebSocket打造在线聊天室

    教程: https://www.jianshu.com/p/55cfc9fcb69e https://wallimn.iteye.com/blog/2425666 关于websocket基础普及见:h ...

  3. npm添加代理和取消代理

    1.设置http代理 npm config set proxy=http://代理服务器地址:8080 2.取消代理 npm config delete proxy 3.npm设置淘宝镜像 npm c ...

  4. java微信token校验

    1.微信验证接口 package com.park.utils.wechatUtil; import org.springframework.web.bind.annotation.RequestMa ...

  5. ubuntu18安装PacketTracer-7.2.2

    1.下载需要先注册个账号 https://www.netacad.com/zh-hans/courses/packet-tracer  2.运行.run文件 chmod +x PacketTracer ...

  6. Zynq-7000 MiZ701 SOC硬件使用手册

    一.整体概述 4 二.应用领域及人群 4 三.硬件配置 4 BANK资源分配 6 四.MiZ701开发板功能描述 7 4.1 全编程SOC(All Programmable SoC) 7 4.2 内存 ...

  7. hdu 2846 字典树变形

    mark: 题目有字串匹配的过程 有两点 1.为了高效的匹配子串 可以把所有的子串都预处理进去 然后字典树计数就放在最后面 2.在同一个母串处理自串的时候 会有重复的时候 比如abab  这里去重用个 ...

  8. Myatis中的OGNL和bind标签的结合用法

    1.MyBatis常用的OGNL e1 or e2 e1 and e2 e1 == e2,e1 eq e2 e1 != e2,e1 neq e2 e1 lt e2:小于 e1 lte e2:小于等于, ...

  9. gdb-example-ncurses

    gdb-example-ncurses http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html 1. The Prob ...

  10. JS ES6

    变量 let 块级作用域内有效 不能重复声明 不会预处理,不存在提升 var btns = document.getElementsByTagName('button'); for (let i = ...