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 相关文章推荐
jquery $.getJSON()跨域请求
Dec 21 Javascript
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
jquery实现省市select下拉框的替换(示例代码)
Feb 22 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
JQuery实现动态添加删除评论的方法
May 18 Javascript
jQuery实用技巧必备(中)
Nov 03 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
微信小程序之页面跳转和参数传递的实现
Sep 29 Javascript
axios异步提交表单数据的几种方法
Aug 11 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 Javascript
js实现表格单列按字母排序
Aug 12 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验证码实现代码(3种)
2015/09/07 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
关于query Javascript CSS Selector engine
2013/04/12 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python translator使用实例
2008/09/06 Python
python下载微信公众号相关文章
2019/02/26 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
党员活动总结
2015/02/04 职场文书
新郎结婚保证书
2015/02/26 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis