ajax實(shí)現(xiàn)select三級(jí)聯(lián)動(dòng)效果
本文利用ajax技術(shù)從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),動(dòng)態(tài)實(shí)現(xiàn)select三級(jí)聯(lián)動(dòng),效果圖如下:
前端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字符串轉(zhuǎn)換為JSON對(duì)象 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); } }); }); //顯示二級(jí)分類(lèi) function firstlevel_Click(){ var objfirst=document.getElementById("firstlevel"); var index=objfirst.selectedIndex; //選中索引 var itemcode=objfirst.options[index].value; //選中值 if(itemcode==0){ alert("請(qǐng)選擇事件類(lèi)別"); return; } // 刪除二級(jí)分類(lèi)保留第一個(gè) var objsecond=document.getElementById("secondlevel"); for(var i=objsecond.options.length-1;i>0;i--){ objsecond.options.remove(i); } // 刪除三級(jí)分類(lèi)保留第一個(gè) 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字符串轉(zhuǎn)換為JSON對(duì)象 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); } }); } //顯示三級(jí)分類(lèi) function secondlevel_Click(){ var objsecond=document.getElementById("secondlevel"); var index=objsecond.selectedIndex; //選中索引 var itemcode=objsecond.options[index].value; //選中值 if(itemcode==0){ alert("請(qǐng)選擇事件類(lèi)別"); return; } // 刪除三級(jí)分類(lèi)保留第一個(gè) 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字符串轉(zhuǎn)換為JSON對(duì)象 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">請(qǐng)選擇事件大類(lèi)</option> </select> </td> </tr> <tr> <td height="40"> <select id="secondlevel" onchange="secondlevel_Click()" style="width:99%;font-size:1em;"> <option value="0">請(qǐng)選擇事件小類(lèi)</option> </select> </td> </tr> <tr> <td height="40"> <select id="thirdlevel" style="width:99%;font-size:1em;"> <option value="0">請(qǐng)選擇事件類(lèi)別</option> </select> </td> </tr> </table>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ajax+smarty技術(shù)實(shí)現(xiàn)無(wú)刷新分頁(yè)
這篇文章主要介紹了Ajax+smarty技術(shù)實(shí)現(xiàn)無(wú)刷新分頁(yè)的相關(guān)資料,需要的朋友可以參考下2016-03-03SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)
這篇文章主要介紹了SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2016-05-05基于Ajax和forms組件實(shí)現(xiàn)注冊(cè)功能的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家分享了基于Ajax和forms組件實(shí)現(xiàn)注冊(cè)功能,需要的朋友可以參考下2018-02-02ajax實(shí)現(xiàn)數(shù)據(jù)刪除、查看詳情功能
本文主要介紹了ajax實(shí)現(xiàn)數(shù)據(jù)刪除、查看詳情功能,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03Ajax如何進(jìn)行跨域請(qǐng)求?Ajax跨域請(qǐng)求的原理
Ajax如何進(jìn)行跨域請(qǐng)求?這篇文章主要為大家詳細(xì)介紹了Ajax跨域請(qǐng)求的原理,Ajax怎么樣做跨域請(qǐng)求?具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08ajax快速解決參數(shù)過(guò)長(zhǎng)無(wú)法提交成功的問(wèn)題
下面小編就為大家?guī)?lái)一篇ajax快速解決參數(shù)過(guò)長(zhǎng)無(wú)法提交成功的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12Ajax與mysql數(shù)據(jù)交互實(shí)現(xiàn)留言板功能
最近自己做了一個(gè)小demo,實(shí)現(xiàn)了Ajax與MySQL的數(shù)據(jù)交互,js部分用的是jq,后臺(tái)用的是PHP,數(shù)據(jù)庫(kù)是mysql,下面通過(guò)本文給大家詳細(xì)介紹下2016-12-12