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


Posted in Javascript onMay 06, 2015

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

<%@ 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程序设计有所帮助。

Javascript 相关文章推荐
javascript css float属性的特殊写法
Nov 13 Javascript
JavaScript 在各个浏览器中执行的耐性
Apr 06 Javascript
通过身份证号得到出生日期和性别的js代码
Nov 23 Javascript
js 距离某一时间点时间是多少实现代码
Oct 14 Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
Apr 13 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
vue中轮训器的使用
Jan 27 Javascript
JavaScript cookie原理及使用实例
May 08 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 Javascript
javascript十六进制及二进制转化的方法
May 06 #Javascript
js拆分字符串并将分割的数据放到数组中的方法
May 06 #Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 #Javascript
javascript操作表格排序实例分析
May 06 #Javascript
js获取form的方法
May 06 #Javascript
js给selected添加options的方法
May 06 #Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
May 06 #Javascript
You might like
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
销售助理岗位职责
2014/02/21 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
大学生个人总结范文
2015/02/15 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
ipad隐藏软件app图标方法
2022/04/19 数码科技