中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      ajax解決的下拉框的onchange問題

      時(shí)間:2024-10-27 02:55:39 AJAX 我要投稿
      • 相關(guān)推薦

      ajax解決的下拉框的onchange問題

        即在觸發(fā)地區(qū)下拉框的onchange事件時(shí),代理商的下拉框選項(xiàng)也相應(yīng)的改變,比如選擇地區(qū) 湖南—〉長(zhǎng)沙,那么代理商下拉框只顯示長(zhǎng)沙的代理商。

        本來認(rèn)為這個(gè)很好實(shí)現(xiàn),但實(shí)際改起來的時(shí)候發(fā)現(xiàn)問題多多,主要問題是原有的地區(qū)聯(lián)動(dòng)是用js實(shí)現(xiàn)的,它的數(shù)據(jù)源是一個(gè)xml文件,當(dāng)然如果下拉框是服務(wù)器端控件那么問題是很好解決的,現(xiàn)在是html控件一下子似乎還真有些不好改,想了幾種辦法實(shí)現(xiàn)起來都不理想,最后將思路轉(zhuǎn)向用ajax來實(shí)現(xiàn)問題才迎刃而解,現(xiàn)在仔細(xì)一想,像這種情況似乎只有用ajax才能比較好的解決,如果是在地區(qū)下拉框的onchange事件里向后臺(tái)進(jìn)行一次提交,將地區(qū)下拉框的id傳過去的話,實(shí)際上產(chǎn)生的回發(fā)會(huì)將地區(qū)聯(lián)動(dòng)下拉框重新初始化。

        現(xiàn)在我具體談?wù)勥@個(gè)ajax實(shí)現(xiàn)的過程。

        首先頁(yè)面當(dāng)然需要定義一個(gè)下拉框的html控件。

        復(fù)制代碼 代碼如下:

        

        接下來當(dāng)然是定義XmlHttpRequest對(duì)象。

        復(fù)制代碼 代碼如下:

        var xmlhttp;

        function CreateXmlHttp()

        {

        //非IE瀏覽器創(chuàng)建XmlHttpRequest對(duì)象

        if(window.XmlHttpRequest)

        {

        xmlhttp=new XmlHttpRequest();

        }

        //IE瀏覽器創(chuàng)建XmlHttpRequest對(duì)象

        if(window.ActiveXObject)

        {

        try

        {

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

        }

        catch(e)

        {

        try{

        xmlhttp=new ActiveXObject("msxml2.XMLHTTP");

        }

        catch(ex){}

        }

        }

        }

        這個(gè)在我的多篇blog文章里都有闡述,就不多說了。

        接下來當(dāng)然是利用該對(duì)象來發(fā)送條件,獲得數(shù)據(jù),并且將獲得的數(shù)據(jù)綁定到agent這個(gè)下拉框。

        在地區(qū)下拉框的onchange事件里面觸發(fā)函數(shù)AjaxSend();

        復(fù)制代碼 代碼如下:

        function AjaxSend()

        {

        //創(chuàng)建XmlHttpRequest對(duì)象

        CreateXmlHttp();

        if(!xmlhttp)

        {

        alert("創(chuàng)建xmlhttpRequest發(fā)生異常!");

        return false;

        }

        //獲取地區(qū)下拉框的value值,作為條件發(fā)送

        var ss=document.getElementById("a2").value.substring(0,4);

        }

        //要發(fā)送的url,UserAjax我專門用來取數(shù)據(jù)

        url="UserAjax.aspx?area="+ss;

        xmlhttp.open("POST",url,false);

        xmlhttp.onreadystatechange=function()

        {

        if(xmlhttp.readyState==4)

        {

        if(xmlhttp.status==200)

        {

        //清空原下拉框

        document.getElementById("agent").options.length=0;

        //str為返回的一個(gè)字符串,形式為"0001/代理商1,0002/代理商2,0003/代理商3"

        var str=xmlhttp.responseText;

        //將該字符串分割為數(shù)組形式

        var strs=str.split(",");

        document.getElementById("agent").options.add(new Option("----------","000000"));

        for(var i=0;i<strs.length-1;i++)

        {

        //獲取value值(編號(hào))

        var a=strs[i].substring(0,strs[i].lastIndexOf("/"));

        //獲取綁定內(nèi)容

        var b=strs[i].substring(strs[i].lastIndexOf("/")+1,strs.length);

        //綁定到下拉框

        document.getElementById("agent").options.add(new Option(b,a));

        }

        }

        }

        }

        xmlhttp.send();

        }

        另外順便介紹一下UserAjax接收到該地區(qū)編號(hào)后獲取數(shù)據(jù)返回字符串的過程。

        復(fù)制代碼 代碼如下:

        string Area = Request.QueryString["area"].ToString();

        DataTable data = "生成DataTable,涉及到公司核心代碼,省略"

        string aa = "";

        for (int i = 0; i < data.Rows.Count; i++)

        {

        if (aa == "")

        {

        aa = data.Rows[i]["id"].ToString()+"/"+data.Rows[i]["name"].ToString();

        }

        else

        {

        aa = aa + "," + data.Rows[i]["id"].ToString() +"/"+ data.Rows[i]["name"].ToString();

        }

        }

        Response.Write(aa);

        這樣,一個(gè)比較棘手的問題用ajax就獲得了完美解決,并且不會(huì)因向后臺(tái)回發(fā)而導(dǎo)致下拉框初始化,導(dǎo)致選項(xiàng)改變,親愛的朋友,看了這個(gè)例子,你對(duì)ajax是不是也有了

        更好的認(rèn)識(shí)呢?

      【ajax解決的下拉框的onchange問題】相關(guān)文章:

      解決寶寶睡覺問題10-11

      基于解決問題的學(xué)習(xí)10-13

      Struts中文問題怎么解決09-09

      如何解決頭皮問題08-22

      解決電腦變慢問題的方法08-10

      零基礎(chǔ)學(xué)習(xí)AJAX之制作自動(dòng)校驗(yàn)的表單問題07-25

      如何解決狗狗掉毛的問題-有效解決狗狗掉毛問題的方法06-17

      解決硬盤故障各種奇異問題02-21

      集團(tuán)OA系統(tǒng)解決哪些問題12-28

      繡眉解決哪些眉毛問題09-10

      主站蜘蛛池模板: 国产美女自拍国语对白| 女性| 青青草一区在线观看视频| 亚洲AV无码一区二区三区精神| 激情一区二区三区视频| 伊人影院在线观看不卡| 香蕉久久av一区二区三区| 成人小视频在线观看播放| 县级市| 亚洲av岛国片在线观看| 亚洲福利第一页在线观看| 亚洲中文字幕av一区| 99国产综合精品-久久久久| 熟女丝袜美腿亚洲一区二区三区| 图木舒克市| 一区二区三区蜜桃在线视频| 久久精品中文字幕亚洲| 色婷婷久久一区二区三区| 91久久精品人妻一区二区| 91久久国产自产拍夜夜嗨| 亚洲色图视频在线播放| 亚洲区一区二在线视频| 张家口市| 乌拉特前旗| 在线免费av一区二区| 南昌县| 绵阳市| 塔河县| 中文字幕人妻少妇第一页| 崇礼县| 亚洲AV无码一区二区三区少妇av| 开心五月婷婷丁香综合| 国产精品色内内在线播放| 国产精品综合色区av| 亚洲AV永久无码精品表情包| 亚洲一区二区三区久久综合| 午夜无码国产18禁| 亚洲综合1区2区3区| 国产精品国产三级国产无毒| av手机天堂| 韩国女主播一区二区在线观看|