在很多时候我们都会使用到联动。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. Java操作Excle(基于Poi)

    有一次有个同事问我会不会有java操作Excle,回答当然是不会了!感觉被嘲讽了,于是开始寻找度娘,找到个小例子,结果越写越有意思,最后就成就了这个工具类. import java.io.Buffer ...

  2. python查询neo4j的数据以字典的方式返回数据

    在使用python操作neo4j的时候,如果查询的数据比较多,结构比较复杂的时候,返回的数据量会比较大,而且信息比较多,并且不唯一.所以写了该方法,用于查询比较复杂的数据. def query_gra ...

  3. 【Funny Things】001——QQ循环发送消息

    借用Java的Robot类库中的键鼠模拟的方法,执行这个操作,首先切换到QQ界面,然后循环粘贴,回车发送消息. package newtest; import java.awt.*; import j ...

  4. Python基础(十一)--内置函数

    内置函数 数学类 abs():绝对值 round():四舍五入 >>> round(1.3747,1) 1.4 sum():求和 >>> sum({1:'dj',2 ...

  5. VS2017生成一个简单的DLL文件 和 LIB文件——C语言

    下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...

  6. 【leetcode】287. 寻找重复数

    题目链接:传送门 题目描述: 给定一个数组 nums 包含 n + 1 个整数,每个整数在 1 到 n 之间,包括 1 和 n.现在假设数组中存在一个重复的数字,找到该重复的数字. 注意 不能修改数组 ...

  7. sqlce基本语法

    整理和总结一下SQLCE的用法引用  System.Data.SqlServerCe(1)数据库文件的创建     SqlCeEngine eng = new SqlCeEngine("Da ...

  8. Windows 编程 键盘

    键盘对于大家来说可能再也熟悉不过了,它和鼠标是现在最常用的电脑输入设备.虽然在现在的图形界面操作系统下使用鼠标比使用键盘更方便.更广泛,但是鼠标还是一时半会儿取代不了它的老前辈——键盘的地位,尤其是在 ...

  9. iview-admin部署linux nginx报500错误的问题记录

    遇到个新服务器部署iview-admin之后 在nginx配置文件有个user配置项 这里需要配置为root或者可以读取本地文件的用户 站点配置如下 server { listen ; server_ ...

  10. 基于create-react-app脚手架,按需加载antd组件以及less样式

    摘要 为了更好的书写css样式,在react中引入less,在网上查询了许多关于react引入less样式文件的资料,大多数都是需要在react项目中npm run eject暴露出底层文件,然后在底 ...