/****************************************************************
* 機 能: 業種大分類を変わったら、業種中分類を変わる処理
* 引 数: first
* second
* 戻り値:
****************************************************************/
function changeMClass(first,second){
first = first.replace(".","\\.");
second = second.replace(".","\\.");
$("#"+first).CascadingSelect(
$("#"+second),
"/syspro/callsearchnew/changeCustGyoMClass.action?t="+Math.random(),
{datatype:"json",textfield:"name",valuefiled:"id",parameter:"selectedBClass"},
function(){
//alert("success");
var value = $("#"+first).val();
// 空白を選択する場合、中分類をクリアする
if(null == value || '' == value || undefined == value){
$("#"+second).empty();
}
$("#"+second).AddOption("","",true,0);
if($.browser.msie && selected) {
$('option[value='+selected+']',this).attr('selected',true);
}
}
);
}
jsp
<td align="left">
<s:select id="inputVO.selectedBClass" name="inputVO.selectedBClass" list="custGyoBClassList" listKey="id" listValue="name" headerKey="" headerValue="" cssStyle="width:120px;" onchange="changeMClass('inputVO.selectedBClass','inputVO.selectedMClass');"/>
<font style="font-size:12px;padding-left:5px;">(大分類)</font>
<s:select id="inputVO.selectedMClass" name="inputVO.selectedMClass" list="custGyoMClassList" listKey="id" listValue="name" headerKey="" headerValue="" cssStyle="width:120px;"/>
<font style="font-size:12px;padding-left:5px;">(中分類)</font>
</td>
后台
/**
*
* @description 大分類を変わった時、中分類リスト内容を変わる。<br>
* @return JSONString
* @note なし
*/
public String changeCustGyoMClassList() {
// 業種:中分類リスト作成
custGyoMClassList = callSearchNewService.getCustGyoMClassList(Integer.parseInt(selectedBClass));
try {
JsonUtil.sendJson(custGyoMClassList);
} catch (IOException e) {
if (log.isErrorEnabled()) {
log.error(e);
}
}
return null;
}
package jp.co.syspro.common.util;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.apache.struts2.ServletActionContext;
public class JsonUtil {
/**
* jsonデータ戻る
*
* @param obj
* データ
* @throws IOException
*/
public static void sendJson(Object obj) throws IOException {
JSONArray json = JSONArray.fromObject(obj);
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json.toString());
}
}
分享到:
相关推荐
struts2 jquery json ajax 三级联动菜单 可直接部署使用 需添加数据库查询代码
jQuery Ajax 三级省市联动 (JSON)
ajax使用jquery json实现的省市县三级联动经验总结
jquery+ajax+json省市区三级联动,支持本地ip获得地址,可以变成两级联动.已在IE,FIREFOX,CHORME测试,欢迎继续更新学习
已通过测试,只是省市设置的并不全,如果数据库建表不明,可以私信我
省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统、电商网站最为常见。开发者一般使用Ajax实现无刷新下拉联动。本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市
ajax里response返回的数据是一个二维数组,比如这样的[{key,val},{key,val},{key,val}],这个就是传说中的json数据了,以这样的形式数据传到前台,实现菜单联动下拉框;具体怎么样,详情请仔细查看以下内容
自己查资料做出来的小东西,虽然简单,但是能很好的诠释Struts2、Hibernate、jquery、ajax和json的最基本的用法
主要介绍了jQuery+JSON实现AJAX二级联动的方法,以实例形式分析了前台jQuery结合ajax传递json格式数据及后台数据处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
用jquery、ajax读取json数据实现select列表的三级联动(下拉列表三级联动)
在S2SM的框架下,使用Ajax完成的省市二级联动,使用Jquery完成的Ajax,使用JSON,JSONArray完成,在eclipse下即可运行 一直在找类似的资源找不着,干脆自己写一个和大家分享
Spring+Struts+Hibernate+Jquery(AJAX)实现的省份与城市级联效果 原理:通过ajax调用后端struts的action,将返回的JSON对象数组解析载入页面。
省市区三级联动ajax+json+jquery,自己写的小例子,希望大家能喜欢一下,学习一下
用struts2 hibernate spring三大框架,再加上jQuery + json + Ajax技术做的地区选择,从数据库中读取地区信息,显示在网页上的三级联动下拉列表上。
这是将《用Ajax实现多级联动下拉列表(无限级别,JSON传输数据,含全国地区数据库))》(原来是asp的)改写成ASP.NET,服务器端采用WebService。仍然使用JSON传数据。原文地址:...
利用jQuery+Ajax+json从数据库获取数据,将获取的数据利用json格式传递,实现select控件三级联动;内附数据库sql脚本。
ajax 实现 (全国,省,是,区....) N级联 Demo js: <script type="text/javascript"> $(function () { $.fn.CascadeSelect({ url: '/CascadeSelect/CascadeSelect.ashx', //返回Json数据的一般处理文件 idKey: ...
此代码为beego框架实现的jQuery ajax省市二级联动,前后端交互为json数据。 此代码为beego框架实现的jQuery ajax省市二级联动,前后端交互为json数据。 此代码为beego框架实现的jQuery ajax省市二级联动,前后端交互...
2 jquery JDBC 3 json数据 4 三级联动 5 仿百度自动提示 6 fromValidator验证 其中自带jar包 修改 DBconfig Mysql数据库配置文件直接运行即可 方便大家学习 ~~~同时鄙视那些高分卖例子的人... 看不懂QQ联系