在很多时候我们都会使用到联动。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. loback的介绍与配置-(通俗易通)

    一.logback的配置介绍 Logback的配置分为三个内容:Logger.appender及layout Logger:作为日志的记录器,主要用于存放日志对象,也可以定义日志类型.级别. appe ...

  2. 【模板】C++高精度加法

    所谓高精度加法就是对两个和可能会超过long long数据范围的数进行加法运算.这种情况下,显然不能使用常规的方法进行运算. 那么,不妨考虑一下人在纸上是如何进行加法运算的.当人进行加法运算时,通常会 ...

  3. nginx访问量统计 日常分析

    nginx访问量统计 0.查询某个时间段的日志 cat appapi.dayutang.cn.access.log |grep 'POST'|grep '2019:10' > 20191059. ...

  4. Vasya's Function CodeForces - 837E (gcd)

    大意: 给定$a,b$, $1\le a,b\le 1e12$, 定义 $f(a,0)=0$ $f(a,b)=1+f(a,b-gcd(a,b))$ 求$f(a,b)$. 观察可以发现, 每次$b$一定 ...

  5. Git详细操作

    Git详细操作 一.本地配置 1公钥钥配置 1.参考帮助文档:https://gitee.com/help/ 仓库管理 =公钥管理 =生成/添加SSH公钥 ssh-keygen -t rsa -C & ...

  6. [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam

    [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam https://blog.csdn.net/u010089444/article/details/76 ...

  7. 在Windows中 , 如何用leakdiag “自动”检测内存泄露 (自动记录日志)

    一.基本用法 在LeakDiag中选择aaa.exe 然后选择Windows Heap Allocator来跟踪heap的使用,按start开始,等一会按log,然后再stop 会在c:\leakdi ...

  8. echarts 内存泄漏

    最近使用vue + Echarts 实现vue项目的数据可视化功能的时候,在ios环境下,点击列表页进入详情页几次就白屏了. 感觉白屏的原因是:echarts频繁初始化画图时候有内存泄漏,吃掉了所有内 ...

  9. NET如何使用ELinq-实现增删改查

    1 通过对ELinq主页的参考和学习,以及在项目中(wpf项目中用到的)中应用,ORM框架中的ELinq确实非常的强大,特此以建立wpf项目为例子来总结下如何在项目中应用ELinq,要想使用这个框架首 ...

  10. MYSQL AND 和 OR

    AND 和 OR     如果你失忆了,希望你能想起曾经为了追求梦想的你.    QQ群:651080565(php/web 学习课堂)   我们查询数据的时候,会使用条件来过滤数据,达到筛选效果,过 ...