JS簡單實現(xiàn)多級Select聯(lián)動菜單效果代碼
本文實例講述了JS簡單實現(xiàn)多級Select聯(lián)動菜單效果代碼。分享給大家供大家參考。具體如下:
JS聯(lián)動菜單,簡單代碼實現(xiàn)JS多級Select聯(lián)動菜單,也就是大家常用的一款菜單,Select聯(lián)動狀態(tài)的菜單,網(wǎng)頁上經(jīng)常見到的效果,希望大家能用得上。
運行效果截圖如下:

在線演示地址如下:
http://demo.jb51.net/js/2015/js-simple-select-ld-menu-codes/
具體代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>JS聯(lián)動下拉框</title>
<script language="javascript" >
/*
** ====================================
** 類名:CLASS_LIANDONG_YAO
** 功能:多級連動菜單
** 作者:YAODAYIZI
**/
function CLASS_LIANDONG_YAO(array)
{
//數(shù)組,聯(lián)動的數(shù)據(jù)源
this.array=array;
this.indexName='';
this.obj='';
//設(shè)置子SELECT
// 參數(shù):當(dāng)前onchange的SELECT ID,要設(shè)置的SELECT ID
this.subSelectChange=function(selectName1,selectName2)
{
//try
//{
var obj1=document.all[selectName1];
var obj2=document.all[selectName2];
var objName=this.toString();
var me=this;
obj1.onchange=function()
{
me.optionChange(this.options[this.selectedIndex].value,obj2.id)
}
}
//設(shè)置第一個SELECT
// 參數(shù):indexName指選中項,selectName指select的ID
this.firstSelectChange=function(indexName,selectName)
{
this.obj=document.all[selectName];
this.indexName=indexName;
this.optionChange(this.indexName,this.obj.id)
}
// indexName指選中項,selectName指select的ID
this.optionChange=function (indexName,selectName)
{
var obj1=document.all[selectName];
var me=this;
obj1.length=0;
obj1.options[0]=new Option("請選擇",'');
for(var i=0;i<this.array.length;i++)
{
if(this.array[i][1]==indexName)
{
//alert(this.array[i][1]+" "+indexName);
obj1.options[obj1.length]=new Option(this.array[i][2],this.array[i][0]);
}
}
}
}
</script>
</head>
<body>
<form name="form1" method="post">
<SELECT ID="s1" NAME="s1" >
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="s2" NAME="s2" >
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="s3" NAME="s3">
<OPTION selected></OPTION>
</SELECT>
<br>
<br><br>
<SELECT ID="x1" NAME="x1" >
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="x2" NAME="x2" >
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="x3" NAME="x3">
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="x4" NAME="x4">
<OPTION selected></OPTION>
</SELECT>
<SELECT ID="x5" NAME="x5">
<OPTION selected></OPTION>
</SELECT>
</form>
</body>
<script language="javascript">
//例子1-------------------------------------------------------------
//數(shù)據(jù)源
var array=new Array();
array[0]=new Array("華南地區(qū)","根目錄","華南地區(qū)"); //數(shù)據(jù)格式 ID,父級ID,名稱
array[1]=new Array("華北地區(qū)","根目錄","華北地區(qū)");
array[2]=new Array("上海","華南地區(qū)","上海");
array[3]=new Array("廣東","華南地區(qū)","廣東");
array[4]=new Array("徐家匯","上海","徐家匯");
array[5]=new Array("普托","上海","普托");
array[6]=new Array("廣州","廣東","廣州");
array[7]=new Array("湛江","廣東","湛江");
//--------------------------------------------
//這是調(diào)用代碼
var liandong=new CLASS_LIANDONG_YAO(array) //設(shè)置數(shù)據(jù)源
liandong.firstSelectChange("根目錄","s1"); //設(shè)置第一個選擇框
liandong.subSelectChange("s1","s2"); //設(shè)置子級選擇框
liandong.subSelectChange("s2","s3");
//例子2-------------------------------------------------------------
//數(shù)據(jù)源
var array2=new Array();//數(shù)據(jù)格式 ID,父級ID,名稱
array2[0]=new Array("測試測試","根目錄","測試測試");
array2[1]=new Array("華北地區(qū)","根目錄","華北地區(qū)");
array2[2]=new Array("上海","測試測試","上海");
array2[3]=new Array("廣東","測試測試","廣東");
array2[4]=new Array("徐家匯","上海","徐家匯");
array2[5]=new Array("普托","上海","普托");
array2[6]=new Array("廣州","廣東","廣州");
array2[7]=new Array("湛江","廣東","湛江");
array2[8]=new Array("不知道","湛江","不知道");
array2[9]=new Array("5555","湛江","555");
array2[10]=new Array("++++","不知道","++++");
array2[11]=new Array("111","徐家匯","111");
array2[12]=new Array("222","111","222");
array2[13]=new Array("333","222","333");
//--------------------------------------------
//這是調(diào)用代碼
//設(shè)置數(shù)據(jù)源
var liandong2=new CLASS_LIANDONG_YAO(array2);
//設(shè)置第一個選擇框
liandong2.firstSelectChange("根目錄","x1");
//設(shè)置子選擇框
liandong2.subSelectChange("x1","x2")
liandong2.subSelectChange("x2","x3")
liandong2.subSelectChange("x3","x4")
liandong2.subSelectChange("x4","x5")
</script>
</html>
希望本文所述對大家的JavaScript程序設(shè)計有所幫助。
- js實現(xiàn)的全國省市二級聯(lián)動下拉選擇菜單完整實例
- JS實多級聯(lián)動下拉菜單類,簡單實現(xiàn)省市區(qū)聯(lián)動菜單!
- javascript實現(xiàn)省市區(qū)三級聯(lián)動下拉框菜單
- jsp從數(shù)據(jù)庫獲取數(shù)據(jù)填充下拉框?qū)崿F(xiàn)二級聯(lián)動菜單的方法
- 省市區(qū)三級聯(lián)動下拉框菜單javascript版
- js實現(xiàn)簡單的聯(lián)動菜單效果
- js實現(xiàn)select二級聯(lián)動下拉菜單
- 全國省市二級聯(lián)動下拉菜單 js版
- 實例詳解AngularJS實現(xiàn)無限級聯(lián)動菜單
- JavaScript+node實現(xiàn)三級聯(lián)動菜單
相關(guān)文章
javascript實現(xiàn)框架高度隨內(nèi)容改變的方法
這篇文章主要介紹了javascript實現(xiàn)框架高度隨內(nèi)容改變的方法,實例分析了通過父頁面及內(nèi)容改變框架高度兩種實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
微信小程序模板消息限制實現(xiàn)無限制主動推送的示例代碼
這篇文章主要介紹了微信小程序模板消息限制實現(xiàn)無限制主動推送的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
js實現(xiàn)時間顯示幾天前、幾小時前或者幾分鐘前的方法集錦
這篇文章主要介紹了js實現(xiàn)時間顯示幾天前、幾小時前或者幾分鐘前的方法,實例匯總分析了時間顯示格式轉(zhuǎn)換的常用思路與技巧,需要的朋友可以參考下2015-05-05
ionic在開發(fā)ios系統(tǒng)微信時鍵盤擋住輸入框的解決方法(鍵盤彈出問題)
在使用ionic開發(fā)ios系統(tǒng)微信的時候遇到一個bug,在填寫表單的時候鍵盤會擋住輸入框。下面小編給大家?guī)砹薸onic在開發(fā)ios系統(tǒng)微信時鍵盤擋住輸入框的解決方法(鍵盤彈出問題),非常不錯,有需要的朋友參考下吧2016-09-09
一個JS函數(shù)搞定網(wǎng)頁標(biāo)題(title)閃動效果
這篇文章主要介紹了使用JS函數(shù)實現(xiàn)網(wǎng)頁標(biāo)題(title)閃動效果的代碼,需要的朋友可以參考下2014-05-05

