采用js操作 先說下數據在js中的存儲方式。 主要用二維數組來存儲數據。結構如下: a[父編號]=[[子編號1,子名稱1], " /> 国产剧果冻传媒星空在线观看 ,抽插性奴中出乳精内射,国产色婷婷亚洲99麻豆

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

js操作二級聯動實現代碼

表結構
二級或多級聯動主要是以數據庫中具有父編號的表為基礎,這個也不例外
id,parent_id,name 三列。

采用js操作
先說下數據在js中的存儲方式。
主要用二維數組來存儲數據。結構如下:
a[父編號]=[[子編號1,子名稱1],[子編號2,子名稱2],[子編號3,子名稱3],……];
首先用父編號獲取所有的子數據,在把子數據的編號及名稱綁定在dropdown中

第一步 二級聯動數據(后面說這些數據怎么得到)
復制代碼 代碼如下:
var cities=new Array();
cities['00000000-0000-0000-0000-000000000000']=[['028db215-8bd7-45ab-bbaa-1efa175c35ca','長春'],['bcb32195-2a46-4cd1-9472-6383e8fa55cc','沈陽']];

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

第一級為城市數據,第二級為學校數據。
第二步 設置數據在dropdown中顯示


復制代碼 代碼如下:
//根據父編號獲取相應的子數據,并顯示在obj控件中
//type=0 城市,1學校
//pid 父編號
//obj 要顯示數據的dropdown
function SetRegions(type,pid,obj)
{
var text="<option value='00000000-0000-0000-0000-000000000001'>請選擇</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);
}


第三步 城市改變的時候 選擇學校數據

復制代碼 代碼如下:
//用城市編號設置學校子數據
function CityChanged(){
SetRegions (1,$("#cities").val(),"#schools");
}


第四步 當然在修改的時候需要進行初始化,這也是以前我最頭疼的問題

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


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


后臺使用
后臺初始化

復制代碼 代碼如下:
Literal_cityId.Text = "";//初始化城市id
Literal_schoolId.Text = "";//初始化學校id

后臺獲取選擇項值

復制代碼 代碼如下:
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"];



至此基本就完事了
現在看看如何獲取js聯動數據文件

復制代碼 代碼如下:
/// <summary>
/// 生成區域js文件
/// </summary>
private void CreateRegions()
{
#region 獲取區域文件信息
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 學校信息
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
}


把頁面輸出的js聯動數據直接復制到js文件中即可
其中也可以根據自己需要改為三級、多級聯動,都是一樣的道理。
希望能對大家有幫助

JavaScript技術js操作二級聯動實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 印度性hd18| 国产精品美女久久久久AV超清 | 在线 中文字幕 | 国产在线aaa片一区二区99 | 99久久国产露脸精品国产麻豆 | 久久女婷五月综合色啪 | 亚洲AV无码一区二区三区牛牛 | 亚洲国产日韩a精品乱码 | 老司机福利视频一区在线播放 | 国内精品免费视频精选在线观看 | 超碰免费视频caoporn | 99riav9 精品香蕉免费大视频 | 亚洲精品第一国产综合 | 麻豆精品传媒2021网站入口 | 伊人影院久久 | 国产毛片A级久久久不卡精品 | 伦理在线影院伦理电影 | 亚洲精品www久久久久久久软件 | 十九岁韩国电影在线观看 | 日韩精品 中文字幕 有码 | 久久电影院久久国产 | 成品片a免人看免费 | 亚洲视频一区 | 一本大道香蕉中文在线视频观看 | 好硬好湿好爽再深一点视频 | 向日葵视频app下载18岁以下勿看 | 久久久久久久久女黄9999 | 亚洲欧美中文字幕高清在线 | 国产欧美精品一区二区色综合 | 亚洲国产在线精品第二剧情不卡 | 伊人久久大香 | 好男人午夜www视频在线观看 | 久久综合视频网站 | 国产成人午夜精品免费视频 | 丝瓜视频樱桃视频在线观看免费 | 51国产午夜精品免费视频 | 色橹橹欧美在线观看视频高 | 父亲在线日本综艺免费观看全集 | 4虎最新网址 | 免费夜里18款禁用软粉色 | 在线亚洲色拍偷拍在线视频 |