最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2010年07月27日 09:08:15   作者:  
網(wǎng)上二級(jí)(多級(jí))聯(lián)動(dòng)的例子也不少,有各種不同的操作方法。我所采用的方法網(wǎng)上也應(yīng)該有的,不過(guò)我還沒(méi)有看到過(guò)。
表結(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ì)大家有幫助

相關(guān)文章

  • 一文詳解JavaScript中的fetch方法

    一文詳解JavaScript中的fetch方法

    fetch函數(shù)是一個(gè)用于在JavaScript中執(zhí)行HTTP請(qǐng)求的現(xiàn)代API,它提供了一種更簡(jiǎn)潔、更強(qiáng)大的方式來(lái)處理網(wǎng)絡(luò)請(qǐng)求,這篇文章主要介紹了JavaScript中fetch方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 前端實(shí)現(xiàn)無(wú)感刷新的詳細(xì)方案

    前端實(shí)現(xiàn)無(wú)感刷新的詳細(xì)方案

    無(wú)感刷新(Silent Refresh)是指在用戶無(wú)感知的情況下,通過(guò)技術(shù)手段自動(dòng)更新身份憑證(如Token),維持用戶登錄狀態(tài)的技術(shù)方案,本文給大家介紹了前端實(shí)現(xiàn)無(wú)感刷新的詳細(xì)方案,需要的朋友可以參考下
    2025-03-03
  • layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法

    layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 微信小程序傳值以及獲取值方法的詳解

    微信小程序傳值以及獲取值方法的詳解

    這篇文章主要介紹了微信小程序傳值以及獲取值方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 可插入圖片的TEXT文本框

    可插入圖片的TEXT文本框

    這篇文章主要介紹了可插入圖片的TEXT文本框,有需要的朋友可以參考一下
    2013-12-12
  • layer父頁(yè)獲取彈出層輸入框里面的值方法

    layer父頁(yè)獲取彈出層輸入框里面的值方法

    今天小編就為大家分享一篇layer父頁(yè)獲取彈出層輸入框里面的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 基于JavaScript實(shí)現(xiàn)拖動(dòng)滑塊效果

    基于JavaScript實(shí)現(xiàn)拖動(dòng)滑塊效果

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)拖動(dòng)滑塊效果,拖動(dòng)滑塊時(shí)數(shù)字進(jìn)行變化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • javascript實(shí)現(xiàn)的登陸遮罩效果匯總

    javascript實(shí)現(xiàn)的登陸遮罩效果匯總

    小編給大家推薦幾款使用Javascript實(shí)現(xiàn)的遮罩效果登陸框,其實(shí)這種效果是很常見(jiàn)的,在許多互動(dòng)的社區(qū)及其它的一些地方,彈出框應(yīng)用想當(dāng)流行,在不妨礙網(wǎng)頁(yè)運(yùn)行的情況下,用戶可以輸入登錄信息,實(shí)現(xiàn)完美登錄。
    2015-11-11
  • Easyui form combobox省市區(qū)三級(jí)聯(lián)動(dòng)

    Easyui form combobox省市區(qū)三級(jí)聯(lián)動(dòng)

    這篇文章主要介紹了Easyui form combobox省市區(qū)三級(jí)聯(lián)動(dòng) 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • js彈窗返回值詳解(window.open方式)

    js彈窗返回值詳解(window.open方式)

    本篇文章主要介紹了js彈窗返回值(window.open方式)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01

最新評(píng)論

商水县| 林芝县| 延川县| 班玛县| 东源县| 武胜县| 伊川县| 平和县| 东台市| 修水县| 大同市| 运城市| 普安县| 封开县| 沛县| 扎鲁特旗| 孙吴县| 尼勒克县| 双牌县| 泰来县| 出国| 营山县| 界首市| 宕昌县| 三门峡市| 常熟市| 杂多县| 灵宝市| 昌平区| 远安县| 乌鲁木齐县| 泸定县| 扬州市| 桂平市| 旬阳县| 丰宁| 金坛市| 武冈市| 浪卡子县| 慈溪市| 明光市|