首页 > 开发 > AJAX > 正文

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

2024-09-01 08:33:01
字体:
来源:转载
供稿:网友

这篇文章主要介绍了ajax+jQuery实现级联显示地址的方法,涉及jQuery操作Ajax实现级联显示的技巧,非常具有实用价值,需要的朋友可以参考下

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

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8" 
  2. contentType="text/html; charset=utf-8" 
  3. %> 
  4. <html> 
  5. <head> 
  6. <title>初始化HELLO</title> 
  7. <script type="text/javascript" src="../../js/jquery.js"></script> 
  8. <script type="text/javascript"
  9. $(document).ready(function(){ 
  10. var str1='${str}'
  11. var strArr=str1.split(","); 
  12. var k; 
  13. for(k=0;k<strArr.length;k++) 
  14. $.ajax({ 
  15. async:false,//原来是这样,不然AJAX是一起发送的,加上这个的话,就保证这个请求有结果,才会发下一个请求 
  16. url:'init.action',//请求的URL 
  17. cache: false//不从缓存中取数据 
  18. data:{pid:strArr[k]},//发送的参数 
  19. type:'Get',//请求类型 
  20. dataType:'json',//返回类型是JSON 
  21. timeout:20000,//超时 
  22. error:function()//出错处理 
  23. alert("程序出错!"); 
  24. }, 
  25. success:function(json)//成功处理 
  26. var len=json.length;//得到查询到数组长度 
  27. if(strArr[k]=="0")//顶目属地 
  28. {  
  29. $("<select id='no1' style='width:80px' onchange='show()'></select>").appendTo("#content");//在content中添加select元素 
  30. $("<option value='-1'>请选择</option>").appendTo("#no1"); 
  31. for(var i=0;i<len;i++)//把查询到数据循环添加到select中 
  32. $("<option value="+json[i].channelId+">"+json[i].channelName+"</option>").appendTo("#no1"); 
  33. else 
  34. $("<select stype='width:80px' onchange='show()'></select>").appendTo("#content"); 
  35. $("<option value='-1'>请选择</option>").appendTo("#content>select:last"); 
  36. for(var i=0;i<len;i++) 
  37. $("<option value="+json[i].channelId+">"+json[i].channelName+"</option>").appendTo("#content>select:last"); 
  38. $("#content>select:eq("+(k-1)+")>option[@value="+strArr[k]+"]").attr("selected","true");//设置选中 
  39. if(len==0)//最后一级,没东西就把它给删除 
  40. $("#content>select:last").remove(); 
  41. }); 
  42. }//for循环的结尾 
  43. }); 
  44. function show() 
  45. var obj=event.srcElement;//取得当前事件的对象,也就是你点了哪个select,这里得到的就是那个对象 
  46. var currentObj=$(obj);//将JS对象转换成jQuery对象,这样才能使用其方法 
  47. var s1=$(obj).nextAll("select");//找到当前点击的后面的select对象 
  48. s1.each(function(i){ 
  49. $(this).remove();//循环把它们删除 
  50. }); 
  51. var value1=$(obj).val(); 
  52. $.ajax({ 
  53. url:'init.action'
  54. cache:false
  55. data:{pid:value1}, 
  56. type:'Get'
  57. dataType:'json'
  58. timeout:20000, 
  59. error:function() 
  60. alert("出错啦"); 
  61. }, 
  62. success:function(json) 
  63. var len=json.length; 
  64. if(len!=0) 
  65. $("<select style='width:80px' onchange='show()'></select>").appendTo("#content"); 
  66. $("<option value='-1'>请选择</option>").appendTo("#content>select:last"); 
  67. for(var i=0;i<len;i++) 
  68. $("<option value="+json[i].channelId+">"+json[i].channelName+"</option>").appendTo("#content>select:last"); 
  69. }); 
  70. </script> 
  71. </head> 
  72. <body> 
  73. <h1> 
  74. 显示管理员信息 
  75. </h1> 
  76. <table width="50%" border="1"
  77. <tr> 
  78. <td>管理员编号</td><td><input type="text" value="${admin.adminId}"></td> 
  79. </tr> 
  80. <tr> 
  81. <td>管理员帐号</td><td><input type="text" value="${admin.adminAccount}"> </td> 
  82. </tr> 
  83. <tr> 
  84. <td>管理员姓名</td><td><input type="text" value="${admin.adminName}"> </td> 
  85. </tr> 
  86. <tr> 
  87. <td>管理员密码</td><td><input type="text" value="${admin.password}"> </td> 
  88. </tr> 
  89. <tr> 
  90. <td>管理员属地</td><td><input type="text" value="${admin.channelid}"> </td> 
  91. </tr> 
  92. </table> 
  93. <div id="content" 
  94. style="width: 500px; border: 1px; border-style: solid; background-color: lightblue;"
  95. </div> 
  96. </body> 
  97. </html> 

希望本文所述对大家的jquery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表