1、刚开始页面初始化的时候调用该方法,将在页面显示初始化记录页面如图
//列表初始化方法进入页面后调用
$(document).ready(function(){
$.ajax({
url:'init.action',//请求的URL
cache: false, //不从缓存中取数据
data:{pid:2},//发送的参数
type:'Get',//请求类型
dataType:'json',//返回类型是JSON
timeout:20000,//超时
error:function()//出错处理
{
alert("程序出错!");
},
success:function(json)//成功处理
{
var len=json.length;//得到查询到数组长度
$("<select id='no1' name='querySortId' style='width:80px' onchange='show()'></select>").appendTo("#content");//在content中添加select元素
$("<option value='-1'>请选择</option>").appendTo("#no1");
for(var i=0;i<len;i++)//把查询到数据循环添加到select中
{
$("<option value="+json[i].sortId+">"+json[i].sortName+"</option>").appendTo("#no1");
}
}
});
});
当选择其中一项时触发onshow()方法,代码如下:
function show()
{
var obj=event.srcElement;//取得当前事件的对象,也就是你点了哪个select,这里得到的就是那个对象
var currentObj=$(obj);//将JS对象转换成jQuery对象,这样才能使用其方法
var s1=$(obj).nextAll("select");//找到当前点击的后面的select对象
s1.each(function(i){
$(this).remove();//循环把它们删除
});
var value1=$(obj).val();
$.ajax({
url:'init.action',
cache:false,
data:{pid:value1},
type:'Get',
dataType:'json',
timeout:20000,
error:function()
{
alert("出错啦");
},
success:function(json)
{
var len=json.length;
if(len!=0)
{
$("<select style='width:80px' name='querySortId' onchange='show()'></select>").appendTo("#content");
for(var i=0;i<len;i++)
{
$("<option value="+json[i].sortId+">"+json[i].sortName+"</option>").appendTo("#content>select:last");
}
}
}
});
}
就会动态的级联出下一级:界面如下图:
如果再选择同样还会调用onshow()方法,继续级联出来,
action中代码也比较简单,贴出来供参考一下:
public void init() throws IOException{
HttpServletResponse res=this.getResponse();
HttpServletRequest request=this.getRequest();
res.setContentType("text/html; charset=utf-8");
PrintWriter out;
out = res.getWriter();
String pid=request.getParameter("pid");
int id=Integer.parseInt(pid);
List<TASort> list=sortService.getChildenByConditions(id, "0");//这个查询所有父亲id下面所有的列表
JsonConfig config = new JsonConfig();
config.setJsonPropertyFilter(new PropertyFilter(){
public boolean apply(Object source, String name, Object value) {
if(name.equals("parentSort") || name.equals("TASorts")||name.equals("TAAuths")||name.equals("TBSortInfors")||name.equals("sortInfors")) {
return true;
} else {
return false;
}
}
});
JSONArray arr=JSONArray.fromObject(list,config);//这个类是把list转换成json的格式
out.print(arr);
}
jsp中代码如下:
<div id="content" style="width: 500px; border: 1px; border-style: solid; background-color: lightblue;">
</div>
实现以上代码即可实现无限极联动。
转自 http://www.po-soft.com/hi/chengzhengliang/blog/1962
更多内容请访问OECP社区
分享到:
相关推荐
在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...
在实现Ajax级联菜单时,首先需要使用JavaScript处理用户的交互事件,如点击或选择某个选项。通常,我们会为相关元素添加事件监听器,当用户触发特定行为时,执行相应的函数。 3. **XMLHttpRequest对象**: ...
总的来说,这个实例展示了如何结合使用jQuery、JSP、JavaScript和CSS来实现一个功能完善的级联地区选择器,这在网页开发中非常实用,尤其是在需要用户输入地区信息的场景下。理解并掌握这种实现方式对于提升Web开发...
本主题将深入探讨如何利用jQuery AJAX实现动态级联效果,即二级联动下拉菜单,这种功能通常用于多级分类选择或者地区选择等场景。 首先,让我们了解什么是jQuery和AJAX。jQuery是一个强大的JavaScript库,简化了...
这是一个利用了Ajax技术的一个Jquery实例,动态的生成级联的下拉列表框,在中关村zol中经常可以看到。如果遇到无法显示的情况,请自己阅读代码。
在网页开发中,级联...总之,AJAX级联下拉列表的实现是前端开发中的一个重要技能,它涉及到了JavaScript、HTTP请求、DOM操作等多个方面。通过实践和理解提供的代码,你可以深入理解这些概念并提升你的前端开发能力。
总结来说,使用jQuery实现ajax二级级联查询涉及的关键技术包括:jQuery的`$.ajax()`方法用于异步请求,XML作为数据传输格式,以及jQuery的DOM操作方法来处理响应数据。这个过程提高了用户体验,减少了不必要的页面...
本文将深入探讨如何使用Ajax来实现级联菜单,并结合数据库获取数据。 首先,我们需要理解Ajax的工作原理。Ajax的核心是XMLHttpRequest对象,它允许JavaScript在不重新加载整个页面的情况下与服务器进行异步通信。...
总的来说,jQuery在实现城市三级级联中起到了关键作用,通过其强大的选择器、事件处理、Ajax通信、DOM操作和动画功能,使得这一功能的实现变得简单而高效。同时,将功能封装为插件,可以方便地在多个项目中复用,...
在本文中,我们将深入探讨如何使用jQuery库进行AJAX(异步JavaScript和XML)开发,通过实际案例来学习包括级联菜单、谷歌式搜索提示和可编辑表格在内的常见功能。这些功能都允许用户在不刷新整个页面的情况下与网页...
2. **兼容性**:确保代码兼容不同的浏览器,可以使用jQuery等库来简化Ajax操作。 3. **用户体验**:在请求过程中,可以显示加载指示器,告知用户正在处理数据。 4. **安全性**:确保请求和响应的安全性,避免敏感...
使用jQuery实现级联下拉列表 以下是一段基本的jQuery代码示例,展示了如何处理级联下拉列表的事件和数据填充: ```javascript $(document).ready(function() { $('#level1Select').change(function() { var ...
本文将深入探讨如何利用jQuery、Ajax以及JSON技术实现级联选择器,并对给定代码进行详细分析,帮助读者理解其工作原理。 #### 一、级联选择器的基本概念 级联选择器是指当用户在一个下拉列表中做出选择时,该选择...
这里我们讨论的“JQuery写的日期级联下拉菜单”是一个利用jQuery库实现的交互式用户界面组件,允许用户通过三个连续的下拉列表分别选择年、月和日。这种设计使得用户能够快速、准确地输入日期,同时保持页面的简洁性...
本文将深入探讨如何使用jQuery实现级联效果,这种效果常见于下拉菜单、多级选择器和联动筛选等场景。级联效果意味着一个选择会影响另一个相关的选择,从而提供更精细的用户交互体验。 首先,级联效果通常涉及到多个...