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 相关文章推荐
Extjs 几个方法的讨论
Jan 28 Javascript
apply和call方法定义及apply和call方法的区别
Nov 15 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
Sortable.js拖拽排序使用方法解析
Nov 04 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
Three.js基础学习教程
Nov 16 Javascript
浅谈 vue 中的 watcher
Dec 04 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
微信小程序使用蓝牙小插件
Sep 23 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 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+mysql实现用户注册登陆的方法
2015/01/03 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
JS画线(实例代码)
2013/11/20 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
深入理解Django-Signals信号量
2019/02/19 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Django admin组件的使用
2020/10/24 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
四川成都导游欢迎词
2014/01/18 职场文书
表决心的诗句大全
2014/03/11 职场文书
《假如》教学反思
2014/04/17 职场文书
售房协议书
2014/08/19 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis