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 页面坐标相关知识整理
Jan 09 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
利用Angular.js限制textarea输入的字数
Oct 20 Javascript
深入理解基于vue-cli的vuex配置
Jul 24 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
js设置默认时间跨度过程详解
Jul 17 Javascript
vue项目强制清除页面缓存的例子
Nov 06 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 Javascript
Vue父子之间值传递的实例教程
Jul 02 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
文件上传程序的全部源码
2006/10/09 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
Python的面向对象思想分析
2015/01/14 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
学生保证书范文
2014/04/28 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
年底个人总结范文
2015/03/10 职场文书
人事聘任通知
2015/04/21 职场文书
考试没考好检讨书
2015/05/06 职场文书
勤俭节约主题班会
2015/08/13 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
Java常用函数式接口总结
2021/06/29 Java/Android
Golang表示枚举类型的详细讲解
2021/09/04 Golang
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript