`
lengchaotian
  • 浏览: 281136 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ajax实现动态级联下拉框

 
阅读更多

1、页面

<select id="lac" name="lac" style="width:100px;vertical-align:middle;"
						onchange="changeLac(this.value)">					
						<option value="0">选项</option>					
						<s:iterator value="#request.lacList">
						   <option value="<s:property/>">
						   		<s:property/>
						   </option>
						</s:iterator>
					</select>
					
<select id="ci" name="ci" style="width:100px;vertical-align:middle;">
</select>

 

 

2、javascript

 

// 选择CI
function changeLac(v) {
	jQuery('#lac').val(v); //让第一个下拉框保持显示选中的值
	jQuery('#ci').html(""); //把ci内容设为空
	var ciValue = jQuery('#ci');
	ciValue.append('<option value="">选择CI</option>');
	
	//异步请求查询ci列表的方法并返回json数组
	jQuery.ajax({
		url : '/demo/useranalyse/useranalyselist/fillplace.action',
		type : 'post',
		data : { lac : v },
		dataType : 'json',
		success : function (opts) {
			// 单选CI
			if (opts && opts.length > 0) {
					var html = [];
					for (var i = 0; i < opts.length; i++) {
						html.push('<option value="'+opts[i].value+'">'+opts[i].text+'</option>');
					}
					ciValue.append(html.join(''));
				}
			}
		});
}

 

3、后台(页面中的lac、ci作为参数都封装到form中了)

 

	//查询lac列表,放到request中
	public void queryLacList() throws Exception{
		lacList = userAnalyseDao.getLacList();
		request.put("lacList", lacList);
	}	
	
	/**
	 * ajax请求
	 * @return
	 * @throws Exception
	 */
	@Action(value = "fillplace")
	public String fillplace() throws Exception {
		//查询ci列表,转为OptionBean类型
		List<OptionBean> list = userAnalyseDao.getPlaceCell(form);
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("application/json");
		response.setCharacterEncoding("UTF-8");
		PrintWriter writer = response.getWriter();
		//转化为Json数组的形式
		JSONArray array = JSONArray.fromObject(list);
		writer.append(array.toString());
		return null;
	}
	
	

//HTML页面共用的选项元素对象模型
public class OptionBean {
	// 选项值
	private String value;
	// 选项文本
	private String text;
	// 是否被选中
	private boolean selected;

	public OptionBean() {
	}

	public OptionBean(String name) {
		this.value = this.text = name;
	}

	public OptionBean(String value, String text) {
		this.value = value;
		this.text = text;
	}

	public OptionBean(String value, String text, boolean selected) {
		this.value = value;
		this.text = text;
		this.selected = selected;
	}

	//getter setter
	//...

}

 

分享到:
评论

相关推荐

    ajax+servlet两级动态级联下拉框

    本项目“ajax + servlet 两级动态级联下拉框”旨在演示如何使用AJAX(异步JavaScript和XML)技术和Servlet进行交互,以实现在选择第一个下拉框的值后,第二个下拉框自动更新并显示相关数据。以下是对这个项目的详细...

    动态级联下拉框构件

    总结来说,动态级联下拉框构件的实现涵盖了前端的JavaScript、Ajax、HTML、CSS、JSON,后端的数据处理,以及可能涉及的前端框架和数据结构设计。在实际项目中,这些技术点的灵活运用和优化是构建高效、用户友好的...

    级联下拉框效果 jquery

    级联下拉框(Cascading Dropdown)是一种常见的前端交互设计,它允许用户在选择一个选项后,根据所选选项动态加载并显示下一个下拉框的内容。这种效果在多级分类、地区选择、产品配置等场景中十分常见。在本教程中,...

    AJAX级联下拉框源码

    AJAX级联下拉框是一种常见的前端交互设计,它利用Ajax技术实现在用户选择一个下拉选项时,动态地更新另一个相关联的下拉框内容。这种功能在数据关联、筛选和表单填写中非常常见,例如省份和城市的选择,类别和子类别...

    超简单的级联下拉框例子

    总的来说,这个“超简单的级联下拉框例子”展示了如何在不使用数组的情况下,通过动态DOM操作和简洁的代码实现级联下拉框功能。这样的实现方式有利于代码的可读性和维护性,同时也提供了良好的用户体验。通过深入...

    ajax实现可配置无刷新级联下拉框

    **Ajax 实现可配置无刷新级联下拉框** 在 Web 开发中,为了提供用户友好的交互体验,级联下拉框(Cascading Dropdown)是一个常见的需求。级联下拉框允许用户在一个下拉框中选择一个选项后,根据所选的选项动态更新...

    jQuery+ajax实现三级级联

    在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...

    jQuery实现级联下拉框实战(5)

    总结来说,jQuery实现级联下拉框涉及前端的事件监听、Ajax交互和DOM操作,以及后端的数据处理和返回。通过这样的方式,我们可以构建出动态响应用户选择的交互式界面,提高用户在网页上的操作体验。在实际项目中,还...

    php框架thinkphp实现js(ajax)无限添加级联下拉框

    这个例子中的"php框架thinkphp实现js(ajax)无限添加级联下拉框"是关于如何利用ThinkPHP和JavaScript(AJAX)技术来创建一个动态的、可以无限级联的下拉菜单系统。下面我们将深入探讨这一主题。 1. **ThinkPHP框架...

    layui-级联下拉框-可配置开启多选-HTML源码

    级联下拉框通常需要从服务器获取数据,这可能涉及到AJAX请求,使用`$.ajax`或layui内置的接口。数据通常以JSON格式返回,然后被动态渲染到下拉框中。 6. 配置选项: "可配置开启多选"意味着这个组件允许用户根据...

    省市地区 局部刷新 级联下拉框

    综上所述,"省市地区 局部刷新 级联下拉框"的实现涉及到ASP.Net的多个技术层面,包括后端的C#处理、前端的AJAX和JavaScript交互、数据库操作、以及UI设计。理解并掌握这些知识点是构建高效、响应式的Web应用程序的...

    AJAX级联下拉框的简单实现案例

    要实现AJAX级联下拉框,通常需要两个或更多的下拉列表框,以及用来处理数据和通信的后台逻辑。在本案例中,涉及到的主要知识点包括: 1. AJAX技术:AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态...

    无限极级联下拉框的封装

    在实现级联下拉框时,主要利用jQuery的DOM操作、事件绑定和Ajax请求功能。 1. DOM操作:jQuery提供了方便的方法来选择、创建和操作HTML元素。例如,`$("#id")`用于选取ID为"id"的元素,`$(".class")`用于选取所有类...

    java AJAX实现级联下拉框

    ### Java与AJAX实现级联下拉框的关键技术解析 #### 概述 在Web开发中,级联下拉框是一种常见的用户界面设计模式,它能够根据用户在第一个下拉框中的选择动态地改变第二个(或更多)下拉框的内容。这种设计模式广泛...

    用Struts+hibernate+SQLServer2000写的级联下拉框程序

    总结起来,这个项目展示了如何结合Struts的控制层、Hibernate的数据持久化层以及SQLServer2000的数据库服务,实现一个动态的、基于用户选择的级联下拉框功能。对于学习Java Web开发和实践MVC架构的人来说,这是一个...

    使用JQuery实现漂亮的三级级联下拉框

    在实际项目中,级联下拉框的数据通常会从服务器动态获取,因此可能需要使用AJAX请求。此外,为了提高用户体验,可以考虑添加加载动画或提示,以及错误处理机制。 压缩包文件`JQuery_ChainSelect_Demo`可能包含了一...

    级联下拉框(支持火狐和IE)

    总结来说,实现一个跨浏览器的级联下拉框涉及前端和后端的协同工作,包括HTML布局、JavaScript交互、Ajax通信、服务器端处理以及CSS样式。这个例子中的解决方案虽然可能不是完美的类库,但能够适应不同的浏览器环境...

    Ext combo 下拉框级联

    在Ext JS框架中,实现级联下拉框是通过“combobox”组件的级联配置来完成的。 标题中的"Ext combo 下拉框级联"指的是在Ext JS框架中使用Combobox组件创建级联下拉框的功能。Ext JS是一个强大的JavaScript UI库,...

    级联下拉框页面控件学习

    在JSP(JavaServer Pages)中,级联下拉框的实现通常依赖于JavaScript、jQuery和Ajax技术。JavaScript用于增强页面交互性,jQuery简化了DOM操作,而Ajax则负责异步请求数据,确保页面无需刷新即可更新内容。 以下是...

    级联下拉例子

    级联下拉框在网页设计和开发中是一种常见的交互元素,它主要用于提供一系列相互关联的选择项,用户在选择一个选项后,下一级的下拉框会根据前一级的选择动态更新其内容。这种功能通常用于地理位置选择、部门组织结构...

Global site tag (gtag.js) - Google Analytics