亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript動態控制服務器控件實例

2019-11-20 14:10:25
字體:
來源:轉載
供稿:網友

最近多個頁面需要加載一些下拉列表框,供用戶選擇,原來都是在服務器端進行加載應運用。最后由于業務邏輯方面的考慮,需要將DropDownList的部分功能放到客戶端實現。現在下拉列表的功能使用起來感覺比全部放到服務器端性能好多了。

具體方法:

在頁面中放入一個DropDownList控件,并添加一項,用來分析其產生的HTML代碼,這樣在使用js進行動態控制時,將會非常清晰其測試代碼如下所示:

<asp:DropDownList ID="DropDownList1" runat="server"><asp:ListItem>1</asp:ListItem></asp:DropDownList>

在瀏覽器中查看,并對Html進行分析:以下是DropDownList控件生成的HTML代碼。和普通的select沒

有區別。那么也就可以通過js來動態填充、刪除、選擇等控制。

<select name="DropDownList1" id="DropDownList1"><option value="1">1</option></select>

可以將<asp:ListItem>1</asp:ListItem>刪除,現在添加兩個HTML button控件,分別用來實現添加選項,和刪除所有選項。Button源碼如下:

<input id="Button1" type="button" value="添加Option" onclick="addOption()" /><input id="Button2" type="button" value="全部刪除Option" onclick="delOption()" />

添加和刪除函數如下所示:

function addOption(){var ddlObj = document.getElementById("DropDownList1");//獲取對象if(ddlObj.length>0)delOption();//先刪除所有的,之后在添加 var optText = new Array("founder","china","beijing");var optValue = new Array("0","1","2");var oOption = null;for(var i=0;i<optText.length;i++){oOption = new Option(optText[i],optValue[i]);ddlObj.options.add(oOption);}}function delOption(){var ddlObj = document.getElementById("DropDownList1");//獲取對象for(var i=ddlObj.length-1;i>=0;i--){ddlObj.remove(i);//firefox不支持ddlCurSelectKey.options.remove(),IE兩種均支持}}

在瀏覽器中查看,可以輕松地創建選擇下拉選項,由于這些是客戶端生成,因此其效率上要高于服務器

端工作的代碼。但是這個時候如果要使用DropDownList1.SelectedValue獲取用戶選擇的選項,那么你會得

到一個錯誤。這是由于DropDownList是由JS動態添加的,因此,它的項不屬于ViewState,并且不被維護,

也就是說我們無法在服務器端對其進行處理。為了解決這一問題,可以使用兩種方式:1、Hidden控件保存

用戶選項方式;2、Request.Form方式。(參見msdn品味Ajax)

1、我們在頁面中添加一個Hidden控件,用它來保存DropDownList選項變化的信息,這樣在用戶選擇感

興趣的信息之后,我們就可以在服務器端獲取信息,并進行處理,合理地實現客、服之間的分工。

對DropDownList控件添加一個onchange事件,此時它的html代碼如下所示:

<asp:DropDownList ID="DropDownList1" runat="server" onchange="ResvItem()"></asp:DropDownList>

Onchange事件如下所示,該事件主要保存用戶選定的value:

function ResvItem(){var objDdl = document.getElementById("DropDownList1");document.getElementById("HiddenField1").value = objDdl.options[objDdl.selectedIndex].value;}

在此之后,我們使用一個asp:button控件來測驗結果:

protected void Button1_Click(object sender, EventArgs e){Response.Write(HiddenField1.Value);}

到此,已經完成了所有的工作,但是還有一個問題,DropDownList的change事件只有在用戶改變下拉選

項時才會觸發。因此,用戶使用默認選項進行提交時,則獲取空值。因此我們可以在填充option時,即對

hidden初始化。對addOption事件添加一行代碼如下:

function addOption(){var ddlObj = document.getElementById("DropDownList1");//獲取對象if(ddlObj.length>0)delOption();//先刪除所有的,之后在添加 var optText = new Array("founder","china","beijing");var optValue = new Array("0","1","2");var oOption = null;for(var i=0;i<optText.length;i++){oOption = new Option(optText[i],optValue[i]);ddlObj.options.add(oOption);}document.getElementById("HiddenField1").value = optValue[0];}

不過以上紅色部分在TT瀏覽器下ADD不成功,其他瀏覽還沒試過,以下是另一個種寫法:

function GetDeptList(){var ddlCityType = document.getElementById("ddlCityType");var ddlPosition = document.getElementById("ddlPosition");var v = ddlCityType.options[ddlCityType.selectedIndex];//alert(v.value);var DeptList=Guest_UserRegister.GetDeptList(v.value).value;var deptList=new Array();deptList=DeptList.split(';');for(var i=0;i<deptList.length;i++){if(deptList[i]!=""){var dept=deptList[i].split(',');var opt = document.createElement("option"); opt.innerHTML = dept[1];opt.value = dept[0];ddlPosition.insertBefore(opt, ddlPosition.firstChild);}}}function DelOption(){var ddluserSchool = document.getElementById("ddluserSchool");var num=ddluserSchool.length;while(num>0){for(var j=0;j<num;j++){ddluserSchool.remove(j);}num=ddluserSchool.length;}}function GetSchoolList(){DelOption();var ddlProvince = document.getElementById("ddlProvince");var ddluserSchool = document.getElementById("ddluserSchool");var v = ddlProvince.options[ddlProvince.selectedIndex];var DeptList=Guest_UserRegister.GetSchoolList(v.value).value;var deptList=new Array();deptList=DeptList.split(';');for(var i=0;i<deptList.length;i++){if(deptList[i]!=""){var dept=deptList[i].split(',');var opt = document.createElement("option"); opt.innerHTML = dept[1];opt.value = dept[0];ddluserSchool.insertBefore(opt, ddluserSchool.firstChild);}}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
永久555www成人免费| 91av成人在线| 亚洲欧美中文日韩在线v日本| 亚洲一区亚洲二区亚洲三区| 黄色一区二区在线| 欧美极品美女电影一区| 中文字幕在线精品| 91高清在线免费观看| 777精品视频| 欧美亚洲另类激情另类| 福利视频导航一区| 日日摸夜夜添一区| 成人中文字幕+乱码+中文字幕| 91精品国产综合久久男男| 国产日韩中文在线| 中文字幕免费精品一区高清| 国产精品国产三级国产aⅴ9色| 国产精品美女主播| 91干在线观看| 91精品国产91久久久久| 日韩欧美国产网站| 岛国av一区二区三区| 欧美精品制服第一页| 欧美日本高清一区| 国产精品色视频| 亚洲人成电影在线观看天堂色| 久久久在线观看| 久久视频精品在线| 国产精品嫩草视频| 26uuu另类亚洲欧美日本老年| 成人免费网站在线看| 日韩大片在线观看视频| 搡老女人一区二区三区视频tv| 欧美在线免费视频| 国产精品视频xxx| 国产精品69久久| 中文字幕一区二区三区电影| 国产成人极品视频| 亚洲第一二三四五区| 国内自拍欧美激情| 久久久久久久999精品视频| 亚洲精品中文字幕有码专区| 欧美孕妇性xx| 日韩免费在线观看视频| 亚洲成**性毛茸茸| 亚洲精品成人av| 一个人看的www久久| 国产精品视频一区二区三区四| 日韩av中文字幕在线免费观看| 欧美日韩电影在线观看| 亚洲精品xxx| 久久艹在线视频| 这里只有精品在线观看| 国产日韩综合一区二区性色av| 亚洲成人激情图| 日韩精品中文字幕在线观看| 亚洲第一页中文字幕| 日韩高清欧美高清| 成人高h视频在线| 一区国产精品视频| 精品久久香蕉国产线看观看亚洲| 久久久免费av| 精品国产乱码久久久久久天美| 欧美极品少妇全裸体| 亚洲综合日韩在线| 国产精品视频公开费视频| 久久精品在线播放| 91最新在线免费观看| 亚洲精品91美女久久久久久久| 97精品国产97久久久久久春色| 亚洲精品久久久一区二区三区| 国产精品美乳一区二区免费| 日本精品性网站在线观看| 国模吧一区二区| 日韩电影免费观看中文字幕| 欧美性猛交xxxx免费看久久久| 国产精品丝袜白浆摸在线| 欧美性生交xxxxx久久久| 国产精品视频成人| 都市激情亚洲色图| 成人久久一区二区三区| 91国产美女在线观看| 日韩中文字幕国产| 欧美美女操人视频| 亚洲国产精品成人av| 波霸ol色综合久久| 欧美成年人在线观看| 中文字幕国产精品久久| 中文字幕亚洲无线码a| 亚洲男人天堂2023| 97婷婷大伊香蕉精品视频| 国产精品美女av| 亚洲高清免费观看高清完整版| 粉嫩av一区二区三区免费野| 亚洲欧美日韩在线一区| 91色琪琪电影亚洲精品久久| 奇米影视亚洲狠狠色| 日韩av在线看| 韩国国内大量揄拍精品视频| 久久中文字幕国产| 日韩在线www| 成人av电影天堂| 欧美亚洲一区在线| 欧美性在线观看| 国产美女主播一区| 午夜免费久久久久| 国产日产久久高清欧美一区| 成人激情视频在线| 97视频免费看| 精品久久久在线观看| 综合网日日天干夜夜久久| 精品国产鲁一鲁一区二区张丽| 国产日韩欧美日韩大片| 日韩中文av在线| 性色av一区二区三区| 亚洲欧美国产日韩天堂区| 欧日韩不卡在线视频| 欧美在线性爱视频| 国产精品男人的天堂| 日韩在线中文字幕| 日韩av电影手机在线观看| 国产欧美日韩精品专区| www.久久久久久.com| 91沈先生作品| 久久伊人精品一区二区三区| 在线成人免费网站| 国产亚洲视频中文字幕视频| 国产日韩精品一区二区| 最近2019中文免费高清视频观看www99| 成人免费观看49www在线观看| 亚洲丝袜av一区| 日韩美女激情视频| 成人激情电影一区二区| 日韩中文有码在线视频| 高清欧美一区二区三区| 久久久中精品2020中文| 日韩亚洲成人av在线| 久久人体大胆视频| 日韩一区视频在线| 在线播放国产一区二区三区| 国产精品三级网站| 亚洲春色另类小说| 亚洲图片欧美日产| 久久亚洲国产精品成人av秋霞| 美女撒尿一区二区三区| 国产精品久久久久久久久久久不卡| 亚洲精品日韩av| 91av中文字幕| 色偷偷av一区二区三区| 在线精品国产成人综合| 九九精品视频在线观看| 国产第一区电影| 日韩网站免费观看| 性欧美激情精品| 日韩精品小视频| 日韩av免费在线观看| 91理论片午午论夜理片久久| 九九热精品视频国产| 91社区国产高清| 成人免费网站在线看| 久久久国产影院| 国产精品久久久久7777婷婷| 欧美性理论片在线观看片免费| 亚洲综合大片69999|