您当前的位置:首页 > 网站建设 > ajax
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

ajax实现select三级联动效果

51自学网 2022-02-21 10:51:35
  ajax

本文利用ajax技术从数据库中获取数据,动态实现select三级联动,效果图如下:

前端js代码如下:

<script type="text/javascript" src="jquery/jquery-1.9.1.min.js"></script><script type="text/javascript">$(document).ready(function(){$.ajax({type:"get",dataType:"text",url:"GetItemAction?itemlevel=1", success:function(data){ // 由JSON字符串转换为JSON对象  var objJSON=eval("("+data+")"); var len=objJSON.itemInfo.length;  var objSelect=document.getElementById("firstlevel"); for(var i=0;i<len;i++){ var op=new Option(objJSON.itemInfo[i].itemname,objJSON.itemInfo[i].itemcode); objSelect.add(op); }  },error: function (XMLHttpRequest, textStatus, errorThrown) {    alert(errorThrown);   }});});//显示二级分类function firstlevel_Click(){var objfirst=document.getElementById("firstlevel");var index=objfirst.selectedIndex; //选中索引 var itemcode=objfirst.options[index].value; //选中值if(itemcode==0){alert("请选择事件类别");return;}// 删除二级分类保留第一个var objsecond=document.getElementById("secondlevel");for(var i=objsecond.options.length-1;i>0;i--){objsecond.options.remove(i);}// 删除三级分类保留第一个var objthird=document.getElementById("thirdlevel");for(var i=objthird.options.length-1;i>0;i--){objthird.options.remove(i);}$.ajax({type:"get",dataType:"text",url:"GetItemAction?itemlevel=2&itemcode="+itemcode, success:function(data){ // 由JSON字符串转换为JSON对象  var objJSON=eval("("+data+")"); var len=objJSON.itemInfo.length; var objSelect=document.getElementById("secondlevel"); for(var i=0;i<len;i++){ var op=new Option(objJSON.itemInfo[i].itemname,objJSON.itemInfo[i].itemcode); objSelect.add(op); }  },error: function (XMLHttpRequest, textStatus, errorThrown) {    alert(errorThrown);   }});}//显示三级分类function secondlevel_Click(){var objsecond=document.getElementById("secondlevel");var index=objsecond.selectedIndex; //选中索引 var itemcode=objsecond.options[index].value; //选中值if(itemcode==0){alert("请选择事件类别");return;}// 删除三级分类保留第一个var objthird=document.getElementById("thirdlevel");for(var i=objthird.options.length-1;i>0;i--){objthird.options.remove(i);}$.ajax({type:"get",dataType:"text",url:"GetItemAction?itemlevel=3&itemcode="+itemcode, success:function(data){ // 由JSON字符串转换为JSON对象  var objJSON=eval("("+data+")"); var len=objJSON.itemInfo.length; var objSelect=document.getElementById("thirdlevel"); for(var i=0;i<len;i++){ var op=new Option(objJSON.itemInfo[i].itemname,objJSON.itemInfo[i].itemcode); objSelect.add(op); }  },error: function (XMLHttpRequest, textStatus, errorThrown) {    alert(errorThrown);   }});}

部分html代码

<table class="table-exposure"> <tr> <td height="40"> <select id="firstlevel" onchange="firstlevel_Click()" style="width:99%;font-size:1em;"> <option value="0">请选择事件大类</option> </select>      </td> </tr> <tr> <td height="40"> <select id="secondlevel" onchange="secondlevel_Click()" style="width:99%;font-size:1em;"> <option value="0">请选择事件小类</option> </select> </td> </tr> <tr> <td height="40"> <select id="thirdlevel" style="width:99%;font-size:1em;"> <option value="0">请选择事件类别</option> </select> </td> </tr> </table>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持51zixue.net。


下载地址:
Ajax请求发送成功但不进success的解决方法
Struts2和Ajax数据交互示例详解
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。