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 相关文章推荐
js比较和逻辑运算符的介绍
Mar 10 Javascript
JS中的数组的sort方法使用示例
Jan 22 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
浅谈Javascript实现继承的方法
Jul 06 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
jquery+css实现侧边导航栏效果
Jun 12 jQuery
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
Angular使用Restful的增删改
Dec 28 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
es6中使用map简化复杂条件判断操作实例详解
Feb 19 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
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
Python 中 Meta Classes详解
2016/02/13 Python
Python作用域用法实例详解
2016/03/15 Python
python函数的5种参数详解
2017/02/24 Python
python实现自动登录
2018/09/17 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
西安交大自主招生自荐信
2014/01/27 职场文书
工作自我评价怎么写
2014/01/29 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL