采用js操作 先說(shuō)下數(shù)據(jù)在js中的存儲(chǔ)方式。 主要用二維數(shù)組來(lái)存儲(chǔ)數(shù)據(jù)。結(jié)構(gòu)如下: a[父編號(hào)]=[[子編號(hào)1,子名稱1], " /> 亚洲国产成人精品女人久久久,欧美日本韩国一区二区三区,欧美成人一区二区三区片免费

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

js操作二級(jí)聯(lián)動(dòng)實(shí)現(xiàn)代碼

表結(jié)構(gòu)
二級(jí)或多級(jí)聯(lián)動(dòng)主要是以數(shù)據(jù)庫(kù)中具有父編號(hào)的表為基礎(chǔ),這個(gè)也不例外
id,parent_id,name 三列。

采用js操作
先說(shuō)下數(shù)據(jù)在js中的存儲(chǔ)方式。
主要用二維數(shù)組來(lái)存儲(chǔ)數(shù)據(jù)。結(jié)構(gòu)如下:
a[父編號(hào)]=[[子編號(hào)1,子名稱1],[子編號(hào)2,子名稱2],[子編號(hào)3,子名稱3],……];
首先用父編號(hào)獲取所有的子數(shù)據(jù),在把子數(shù)據(jù)的編號(hào)及名稱綁定在dropdown中

第一步 二級(jí)聯(lián)動(dòng)數(shù)據(jù)(后面說(shuō)這些數(shù)據(jù)怎么得到)
復(fù)制代碼 代碼如下:
var cities=new Array();
cities['00000000-0000-0000-0000-000000000000']=[['028db215-8bd7-45ab-bbaa-1efa175c35ca','長(zhǎng)春'],['bcb32195-2a46-4cd1-9472-6383e8fa55cc','沈陽(yáng)']];

var schools=new Array();
schools['028db215-8bd7-45ab-bbaa-1efa175c35ca']=[['5f22403a-7a59-4b7f-b62d-9451298cbd00','長(zhǎng)春1'],['e8f0f665-9a9a-4c44-83fd-598e8a28dcd7','長(zhǎng)春2']];
schools['bcb32195-2a46-4cd1-9472-6383e8fa55cc']=[['4a743dbf-1fdc-4907-a44e-8d169d715664','沈陽(yáng)1']];

第一級(jí)為城市數(shù)據(jù),第二級(jí)為學(xué)校數(shù)據(jù)。
第二步 設(shè)置數(shù)據(jù)在dropdown中顯示


復(fù)制代碼 代碼如下:
//根據(jù)父編號(hào)獲取相應(yīng)的子數(shù)據(jù),并顯示在obj控件中
//type=0 城市,1學(xué)校
//pid 父編號(hào)
//obj 要顯示數(shù)據(jù)的dropdown
function SetRegions(type,pid,obj)
{
var text="<option value='00000000-0000-0000-0000-000000000001'>請(qǐng)選擇</option>";
var tempArray=new Array();
if(type==0){
tempArray=cities[pid];
} else if (type==1){
tempArray=schools[pid];;
}
if(tempArray!=null)
{
for(var i=0;i<tempArray.length;i++){
text+="<option value='"+tempArray[i][0]+"'>"+tempArray[i][1]+"</option>";
}
}
$(obj).html(text);
}


第三步 城市改變的時(shí)候 選擇學(xué)校數(shù)據(jù)

復(fù)制代碼 代碼如下:
//用城市編號(hào)設(shè)置學(xué)校子數(shù)據(jù)
function CityChanged(){
SetRegions (1,$("#cities").val(),"#schools");
}


第四步 當(dāng)然在修改的時(shí)候需要進(jìn)行初始化,這也是以前我最頭疼的問(wèn)題

復(fù)制代碼 代碼如下:
//初始化 城市 學(xué)校值
//cityId 城市編號(hào)
//schoolId 學(xué)校編號(hào)
function InitRegions(cityId,schoolId)
{
//初始化城市數(shù)據(jù)
//SetRegions(0,"00000000-0000-0000-0000-000000000000","#cities");
//查找城市并設(shè)為默認(rèn)值
$("#cities option[value="+cityId+"]").attr("selected","selected");
if(schoolId!="00000000-0000-0000-0000-000000000001"){
//初始化學(xué)校數(shù)據(jù)
SetRegions(1,cityId,"#schools");
//查找學(xué)校并設(shè)為默認(rèn)值
$("#schools option[value="+schoolId+"]").attr("selected","selected");
}
}


前臺(tái)代碼
復(fù)制代碼 代碼如下:
<%--城市--%>
<select runat="server" id="cities" onchange="CityChanged();">
</select>
<%--學(xué)校--%>
<select runat="server" id="schools" >
</select>
<script type="text/Javascript">
SetRegions(0,'00000000-0000-0000-0000-000000000000',"#cities");//設(shè)置城市第一級(jí)
var cityId='<ASP:Literal ID="Literal_cityId" runat="server"></ASP:Literal>';//初始化的城市編號(hào)
var schoolId= '<ASP:Literal ID="Literal_schoolId" runat="server"></ASP:Literal>';//初始化的學(xué)校編號(hào)
InitRegions(cityId,schoolId);//初始化
</script>


后臺(tái)使用
后臺(tái)初始化

復(fù)制代碼 代碼如下:
Literal_cityId.Text = "";//初始化城市id
Literal_schoolId.Text = "";//初始化學(xué)校id

后臺(tái)獲取選擇項(xiàng)值

復(fù)制代碼 代碼如下:
string cityId = Request.Form["cities"] == null ? “00000000-0000-0000-0000-000000000001”: Request.Form["cities"];
string schoolId = Request.Form["schools"] == null ? “00000000-0000-0000-0000-000000000001”: Request.Form["schools"];



至此基本就完事了
現(xiàn)在看看如何獲取js聯(lián)動(dòng)數(shù)據(jù)文件

復(fù)制代碼 代碼如下:
/// <summary>
/// 生成區(qū)域js文件
/// </summary>
private void CreateRegions()
{
#region 獲取區(qū)域文件信息
string _cities = "var cities=new Array();<br/>";
string _schools = "var schools=new Array();<br/>";
DAL.RegionInfo dalRegion = new DAL.RegionInfo();
#region 城市信息
DataTable dtcity = dalRegion.GetList("parent_id='" + “00000000-0000-0000-0000-000000000000”+ "'").Tables[0];
_cities += "cities['" + ParentId + "']=[";
foreach (DataRow c in dtcity.Rows)
{
_cities += "['" + c["id"].ToString() + "','" + c["name"].ToString() + "'],";
#region 學(xué)校信息
DataTable dtschool = dalRegion.GetList(" parent_id='" + c["id"] + "'").Tables[0];
if (dtschool == null || dtschool.Rows.Count == 0)
{
continue;
}
_schools += "schools['" + c["id"].ToString() + "']=[";
foreach (DataRow s in dtschool.Rows)
{
_schools += "['" + s["id"].ToString() + "','" + s["name"].ToString() + "'],";
}
_schools = _schools.TrimEnd(',') + "];<br/>";
#endregion
}
_cities = _cities.TrimEnd(',') + "];<br/>";
#endregion
Response.Write(_cities + "<br/><br/>");
Response.Write(_schools + "<br/><br/>");
#endregion
}


把頁(yè)面輸出的js聯(lián)動(dòng)數(shù)據(jù)直接復(fù)制到j(luò)s文件中即可
其中也可以根據(jù)自己需要改為三級(jí)、多級(jí)聯(lián)動(dòng),都是一樣的道理。
希望能對(duì)大家有幫助

JavaScript技術(shù)js操作二級(jí)聯(lián)動(dòng)實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品久久久久久亚洲精品 | 中文字幕一区二区三 | 欧美成人激情 | sese视频在线观看 | 91看片视频 | 国产一区二区三区四区hd | 国产精品美女一区二区 | 亚洲国产欧美日韩 | 国产黄色精品在线观看 | 久久免费国产视频 | 久久精品手机视频 | 国产片侵犯亲女视频播放 | 精品美女久久久 | 天天躁日日躁狠狠躁2018小说 | 中国毛片免费 | 国产99免费| 最新国产精品精品视频 | 国产欧美日韩 | 亚洲人成在线播放 | 久亚州在线播放 | 成人av资源在线 | aaa一区| 综合久 | 午夜影院 | 亚洲欧洲日韩精品 中文字幕 | 欧美激情视频一区二区三区在线播放 | 国产永久免费 | 欧美日韩成人在线 | 亚洲国产成人av好男人在线观看 | 精品丝袜在线 | 9久久精品 | 国产在线视频一区二区 | 97热在线| 国产精品一区二区久久久久 | 午夜久久久久久久久久一区二区 | 成人福利在线 | 精品久久久久久一区二区 | av中文字幕在线 | 国产一二区免费视频 | 日韩在线精品 | 久草视频在线播放 |