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

      ajax解決的下拉框的onchange問(wèn)題

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

      ajax解決的下拉框的onchange問(wèn)題

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

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

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

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

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

        

        接下來(lái)當(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文章里都有闡述,就不多說(shuō)了。

        接下來(lái)當(dāng)然是利用該對(duì)象來(lái)發(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我專門用來(lái)取數(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ù)返回字符串的過(guò)程。

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

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

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

      解決寶寶睡覺(jué)問(wèn)題10-11

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

      Struts中文問(wèn)題怎么解決09-09

      如何解決頭皮問(wèn)題08-22

      解決電腦變慢問(wèn)題的方法08-10

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

      如何解決狗狗掉毛的問(wèn)題-有效解決狗狗掉毛問(wèn)題的方法06-17

      解決硬盤故障各種奇異問(wèn)題02-21

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

      繡眉解決哪些眉毛問(wèn)題09-10

      主站蜘蛛池模板: 北岛玲中文字幕人妻系列| 日韩有码中文字幕第一页| 久久久高清免费视频| 亚洲乱码中文字幕综合69堂| 日韩熟女一区二区三区| 鲁丝一区鲁丝二区鲁丝三区| 龙川县| 四虎国产精品成人影院| 久久精品亚洲精品毛片| 蜜桃视频在线观看免费网址| 精品理论一区二区三区| 超级少妇一区二区三区| 国产精品污一区二区三区| 漂亮的小少妇诱惑内射系列| 五月天婷婷一区二区三区久久 | 国产福利美女小视频| 博白县| av中文字幕少妇人妻| 亚洲aⅴ久久久噜噜噜噜| 人妻中文字幕av有码在线| 完整在线视频免费黄片| 无码熟妇人妻av在线c0930| 国产在线欧美日韩精品一区二区 | 一本久道久久综合狠狠躁av| 黄色网页在线观看一区二区三区| 精品久久久中文字幕二区| 茂名市| 抚州市| 亚洲欧美日韩国产综合专区| 晋江市| 日韩精品极品视频在线观看蜜桃| 惠东县| 亚洲国产字幕| 日韩国产av一区二区三区精品 | 久久久老熟女一区二区三区 | 阿拉善右旗| 莱芜市| 久久久久亚洲AV片无码乐播 | 中文字幕无线乱码亚洲观看 | 国产在线欧美日韩精品一区二区| baoyu网址国产最新|