ajax+jQuery实现级联显示地址的方法

   本文实例讲述了ajax+jQuery实现级联显示地址的方法。分享给大家供大家参考。具体实现方法如下:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"
contentType="text/html; charset=utf-8"
%>
<html>
<head>
<title>初始化HELLO</title>
<script type="text/javascript" src="../../js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var str1='${str}';
var strArr=str1.split(",");
var k;
for(k=0;k<strArr.length;k++)
{
$.ajax({
async:false,//原来是这样,不然AJAX是一起发送的,加上这个的话,就保证这个请求有结果,才会发下一个请求
url:'init.action',//请求的URL
cache: false, //不从缓存中取数据
data:{pid:strArr[k]},//发送的参数
type:'Get',//请求类型
dataType:'json',//返回类型是JSON
timeout:20000,//超时
error:function()//出错处理
{
alert("程序出错!");
},
success:function(json)//成功处理
{
var len=json.length;//得到查询到数组长度
if(strArr[k]=="0")//顶目属地
{
$("<select id='no1' 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].channelId+">"+json[i].channelName+"</option>").appendTo("#no1");
}
}
else
{
$("<select stype='width:80px' onchange='show()'></select>").appendTo("#content");
$("<option value='-1'>请选择</option>").appendTo("#content>select:last");
for(var i=0;i<len;i++)
{
$("<option value="+json[i].channelId+">"+json[i].channelName+"</option>").appendTo("#content>select:last");
}
$("#content>select:eq("+(k-1)+")>option[@value="+strArr[k]+"]").attr("selected","true");//设置选中
if(len==0)//最后一级,没东西就把它给删除
{
$("#content>select:last").remove();
}
}
}
});
}//for循环的结尾
});
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' onchange='show()'></select>").appendTo("#content");
$("<option value='-1'>请选择</option>").appendTo("#content>select:last");
for(var i=0;i<len;i++)
{
$("<option value="+json[i].channelId+">"+json[i].channelName+"</option>").appendTo("#content>select:last");
}
}
}
});
}
</script>
</head>
<body>
<h1>
显示管理员信息
</h1>
<table width="50%" border="1">
<tr>
<td>管理员编号</td><td><input type="text" value="${admin.adminId}"></td>
</tr>
<tr>
<td>管理员帐号</td><td><input type="text" value="${admin.adminAccount}"> </td>
</tr>
<tr>
<td>管理员姓名</td><td><input type="text" value="${admin.adminName}"> </td>
</tr>
<tr>
<td>管理员密码</td><td><input type="text" value="${admin.password}"> </td>
</tr>
<tr>
<td>管理员属地</td><td><input type="text" value="${admin.channelid}"> </td>
</tr>
</table>
<div id="content"
style="width: 500px; border: 1px; border-style: solid; background-color: lightblue;">
</div>
</body>
</html>

  希望本文所述对大家的jquery程序设计有所帮助。

时间: 2024-08-04 22:31:29

ajax+jQuery实现级联显示地址的方法的相关文章

ajax+jQuery实现级联显示地址的方法_jquery

本文实例讲述了ajax+jQuery实现级联显示地址的方法.分享给大家供大家参考.具体实现方法如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8" %> <html> <head> <title>初始化HELLO&l

jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)_jquery

本文实例讲述了jQuery获取访问者IP地址的方法.分享给大家供大家参考,具体如下: <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ //通过调用新浪IP地址库接口查询用户当前所在国家.省份.城市.运营商信息 $.g

jQuery动态修改超链接地址的方法_jquery

本文实例讲述了jQuery动态修改超链接地址的方法.分享给大家供大家参考.具体实现方法如下: html代码如下: <a id="jb51" href="http://www.haotu.net">好图网</a> 通过jQuery更换此超级链接的链接地址为http://www.jb51.net,代码如下: $("button").click(function(){ $("#jb51").attr(&quo

解决ajax获取页面直接显示乱码的方法

大家都知道,xmlhttp在通信时采用的是utf编码,而国内很多网页的信息都是采用gbk编码,所以当直接通过ajax去连接网页,并将获取到的信息直接显示的话就会出现乱码的现象,有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了. 下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串: function gb2utf8(data){ var glbEncode = []; gb2utf8_data = data

jquery实现鼠标滑过小图时显示大图的方法

 这篇文章主要介绍了jquery实现鼠标滑过小图时显示大图的方法,涉及图片及鼠标操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jquery实现鼠标滑过小图时显示大图的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <

JQuery中使用Ajax赋值给全局变量异常的解决方法

 本篇文章主要是对JQuery中使用Ajax赋值给全局变量异常的解决方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢?   原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成同步操作就行~   方法1:先设置同步在进行Ajax操作      代码如下: //在全局或某个需要的函数内设置Ajax异步为false,也就是同步

让jQuery Mobile不显示讨厌loading界面的方法

 jQuery Mobile总是显示讨厌的loading界面,下面有个不错的解决方法,大家可以参考下 jQuery Mobile 的一个BUG: 当不采用 ajax 以及 他自己的 back 返回的时候,即: 点击浏览器后退按钮时,将会从缓存之中加载页面,此时,讨厌的 loading 动画出来了,而且一直不消失. 网上找了好多解决方法,搜索了好久都没有好用的,今天突然想起来个釜底抽薪,直接动jqeury-mobile 的类库.    用编辑器打开,    找到显示pageLoading的方法,

jQuery插件easyUI实现通过JS显示Dialog的方法_jquery

本文实例分析了jQuery插件easyUI实现通过JS显示Dialog的方法.分享给大家供大家参考.具体如下: <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title></title> <script src="jquery-easyui-1.3.4/jquery-1.8.0.min.js" type=&quo

让jQuery Mobile不显示讨厌loading界面的方法_jquery

jQuery Mobile 的一个BUG: 当不采用 ajax 以及 他自己的 back 返回的时候,即: 点击浏览器后退按钮时,将会从缓存之中加载页面,此时,讨厌的 loading 动画出来了,而且一直不消失. 网上找了好多解决方法,搜索了好久都没有好用的,今天突然想起来个釜底抽薪,直接动jqeury-mobile 的类库. 用编辑器打开, 找到显示pageLoading的方法, showPageLoadingMsg 的定义处: 然后加上一句代码,if("".length<5)