`
nmskate
  • 浏览: 126415 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

struts2 jQuery ajax json实现二级下拉框联动

 
阅读更多

前台下拉框所在form表单:

<s:form name="search_formKeyString" action="selectCategory" method="post">
						<table>
							<tr>
								<td>
									<s:select name="userSelect.classify.id" list="#request['categoryList']" theme="simple" listKey="id" listValue="name" headerKey="0" headerValue="--请选择类别--" onchange="searSelectChange(this);"></s:select>
								</td>
								<td>
									<s:select name="userSelect.subClass.id" list="#request['categSubList']" theme="simple" listKey="id" listValue="name"></s:select>
								</td>
							</tr>
						</table>
						<s:textfield name="userSelect.keyString" id="search_inputKeyString" value="请输入关键字" onclick="search_resetKeyString();" onblur="search_resetKeyString();"></s:textfield>
						<input type="button" id="search_butSubmit" value="查询" onclick="searButSubmitClick(this.form);"></input>
					</s:form>

 点击查询按钮触发的javascript函数,使用jQuery的ajax函数:

$.ajax(
			{
				url : "slctSubCategory.action",
				//数据发送方式
				type : "post",
				//接收数据格式
				dataType : "json",
				//要传递的数据
				data : param,
				//回调函数,接收服务器端返回给客户端的值,即result值
				success : function (data) {
					if (data != null) {
						$.each(data, function (i, item) {
//							alert(item.id + "," + item.preId + "," + item.name);
							var option = "<option value='" + item.id + "'>" + item.name + "</option>";
							select.append(option);
//							alert(item.name);
						});
					} else {
						var option = "<option value='0'>该分类无子选项</option>";
						select.append(option);
					}
				}
			}
	);

 后台struts2.xml配置,extends要写成json-default,result的type要写成json:

 <package name="myworld" extends="json-default">
  <action name="slctSubCategory" class="action.searchCategory.SearchResultAction" method="getSubCategoryList">
   <result name="success" type="json">
    <param name="root">subCateList</param>
   </result>
  </action>
 </package>

 Action中的getSubCategoryList方法:

public String getSubCategoryList() throws Exception {
		int classify = userSelect.getClassify().getId();
		subCateList = new ArrayList<Category>();
		switch (classify) {
			case 1 : {
				subCateList.add(new Category(5, 1, "账号密码"));
				break;
			}
			case 2 : {
				subCateList.add(new Category(6, 2, "文章"));
				break;
			}
			case 3 : {
				subCateList.add(new Category(7, 3, "网页"));
				break;
			}
			case 4 : {
				subCateList.add(new Category(8, 4, "帖子"));
				break;
			}
		}
		return SUCCESS;
	}

 查询结果返回给客户端然后调用ajax自动执行success的函数。遍历List。

 

如果后台返回的是一个Map,则success的函数可写成:

success : function (data) {
					if (data != null) {
						$.each(data, function (key, value) {
							switch (key) {
								case "1" : {
									break;
								}
								case "2" : {
									break;
								}
								default : {
									
								}
							}
						});
					} else {
						var option = "<option value='0'>该分类无子选项</option>";
						select.append(option);
					}
				}

 

分享到:
评论

相关推荐

    struts2 ajax实现的二级联动

    在Struts2框架中,我们可以利用Ajax来实现二级联动效果,即在一个下拉框的选择改变时,通过Ajax请求动态地更新另一个下拉框的内容。 首先,我们需要了解Struts2的Action类,它是处理用户请求的核心。在实现二级联动...

    json实现三级联动下拉框---struts版(数据来自mysql数据库)

    在本项目中,"json实现三级联动下拉框---struts版(数据来自mysql数据库)"是利用JSON来处理省市县三级联动效果的示例,它通过Struts框架与MySQL数据库进行交互,动态地从数据库获取数据并更新到前端页面的下拉框中...

    ajax,struts2,json实现省市区三级联动源码含全国省市区数据库

    “ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...

    struts实现下拉框多级联动

    在Struts框架中实现下拉框的多级联动是一项常见的需求,比如在地址选择时,可以选择国家、省份、城市等,每一级的选择都会影响下一级的选项。 在Struts框架中,实现下拉框的联动通常涉及到以下几个关键知识点: 1....

    ajax+json实现多级联动菜单

    ### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...

    struts+js,struts+jquery示例

    5. 整合jQuery与Struts的AJAX功能,使用Ajax-Struts2插件返回JSON或XML响应。 6. 实现交互式Web应用,如AJAX分页、下拉联动、实时搜索等。 理解并掌握这些知识点,开发者可以创建高效、响应式的Web应用,提升用户...

    web小项目:省市区三级联动(struts2+json)

    总的来说,这个"web小项目:省市区三级联动(struts2+json)"是一个典型的前后端交互案例,展示了如何利用Struts2处理业务逻辑,通过JSON进行数据交换,以及JavaScript如何动态更新页面内容,实现用户友好的交互体验...

    struts2+json省市区级联显示

    在"struts2+json省市区级联显示"这个项目中,我们看到主要功能是通过Struts2框架与JSON数据配合,实现在用户选择省份时,无需刷新页面就能动态加载并显示对应的市、区级联列表。这种级联选择通常用于地址填写或者...

    ajax+jquery三级联动

    在这个小demo中,我们将探讨如何使用Ajax和jQuery技术结合Struts2框架来实现这一功能,并通过JDBC进行数据的增删改查。 首先,我们来看一下`Ajax`(Asynchronous JavaScript and XML)的核心概念。Ajax并非一种单一...

    三级联动的实例+struts2+hibernate3

    实现三级联动的关键在于,我们需要在用户选择第一个下拉框后动态加载第二个下拉框的数据,然后在第二个下拉框选择后更新第三个下拉框。这通常涉及到Ajax异步请求,利用Struts2的拦截器(Interceptor)和...

    省市级联(采用技术==Struts+Hibernate+Spring+Jquery+Json)

    标题 "省市级联(采用技术==Struts+Hibernate+Spring+Jquery+Json)" 描述了一个基于Web的开发项目,该项目使用了多种技术来实现省市级联的动态下拉选择功能。在这个系统中,用户在选择省份后,城市列表会根据所选...

    struts2级联联动菜单

    在Struts2中实现级联联动菜单,我们需要以下几个关键步骤: 1. **模型设计**: - 首先,定义菜单的数据模型,通常包括ID、名称和父ID等字段。这些数据可能存储在数据库中,通过服务层接口获取。 - 创建一个实体类...

    struts2 级联菜单

    利用JavaScript或jQuery监听第一个下拉框的`onChange`事件,当选项改变时发送异步请求(AJAX)到服务器,获取新的级联数据,并更新第二个下拉框。 6. **异步响应**:Action类需要处理AJAX请求,根据请求参数(如...

    AJAX省级二级连动例子

    总结,这个"AJAX省级二级连动例子"是一个典型的前端与后端交互的应用场景,它展示了如何通过AJAX、JavaScript、XML以及JAVA技术实现动态下拉框的联动效果,为用户提供流畅的交互体验。理解并掌握这些技术,对于提升...

    Struts2级联doubleselect

    7. **Ajax技术**:为了实现动态加载子级选项,通常会结合使用Ajax技术,比如使用jQuery库发送异步请求,更新第二个下拉框的内容。 8. **JSON数据交换格式**:在Ajax请求中,服务器端返回的数据通常以JSON格式,因为...

    struts与AJAX

    - 下拉框联动:在一个下拉框的选择改变时,使用AJAX动态更新另一个下拉框的选项,这在处理关联数据时非常有用,如选择省份后自动填充城市列表。 - 实时验证:在用户输入数据时,使用AJAX即时检查输入的有效性,...

    simple RentHouse sys

    在这个项目中,Ajax被用来实现二级联动下拉框的级联选择。用户在一级下拉框选择后,通过Ajax向服务器发送请求,服务器根据请求返回相应的二级选项,再动态更新到二级下拉框中,提高用户体验。这通常涉及jQuery库或者...

    js-day05培训内容_easyui1

    总结,本培训内容主要讲解了如何通过JavaScript的AJAX技术,结合Struts2框架实现省份-城市-区域的三级联动,以及如何返回和处理JSON数据。虽然没有直接涉及EasyUI组件,但可以进一步学习如何利用EasyUI的组件优化这...

    ssh搭建 java案列

    这通常涉及到JavaScript(如jQuery)与服务器端的Struts2 Action进行JSON通信。 最后,时间显示功能可能涉及到了日期和时间的格式化。在Java中,我们可以使用`java.time`包或者旧的`java.util.Date`和`...

Global site tag (gtag.js) - Google Analytics