<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ajax完美解決的下拉框的onchange問題

        來源:懂視網 責編:小采 時間:2020-11-27 22:52:27
        文檔

        ajax完美解決的下拉框的onchange問題

        ajax完美解決的下拉框的onchange問題:即在觸發地區下拉框的onchange事件時,代理商的下拉框選項也相應的改變,比如選擇地區 湖南—〉長沙,那么代理商下拉框只顯示長沙的代理商。 本來認為這個很好實現,但實際改起來的時候發現問題多多,主要問題是原有的地區聯動是用js實現的,它的數據源是一個
        推薦度:
        導讀ajax完美解決的下拉框的onchange問題:即在觸發地區下拉框的onchange事件時,代理商的下拉框選項也相應的改變,比如選擇地區 湖南—〉長沙,那么代理商下拉框只顯示長沙的代理商。 本來認為這個很好實現,但實際改起來的時候發現問題多多,主要問題是原有的地區聯動是用js實現的,它的數據源是一個

        即在觸發地區下拉框的onchange事件時,代理商的下拉框選項也相應的改變,比如選擇地區 湖南—〉長沙,那么代理商下拉框只顯示長沙的代理商。

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

        現在我具體談談這個ajax實現的過程。
        首先頁面當然需要定義一個下拉框的html控件。
        代碼如下:


        <select id="Agent" name="Agent"></select>

        接下來當然是定義XmlHttpRequest對象。
        代碼如下:

        var xmlhttp;
        function CreateXmlHttp()
        {

        //非IE瀏覽器創建XmlHttpRequest對象
        if(window.XmlHttpRequest)
        {
        xmlhttp=new XmlHttpRequest();
        }
        //IE瀏覽器創建XmlHttpRequest對象
        if(window.ActiveXObject)
        {
        try
        {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e)
        {
        try{
        xmlhttp=new ActiveXObject("msxml2.XMLHTTP");
        }
        catch(ex){}
        }
        }
        }

        這個在我的多篇blog文章里都有闡述,就不多說了。
        接下來當然是利用該對象來發送條件,獲得數據,并且將獲得的數據綁定到agent這個下拉框。
        在地區下拉框的onchange事件里面觸發函數AjaxSend();

        代碼如下:


        function AjaxSend()
        {
        //創建XmlHttpRequest對象
        CreateXmlHttp();
        if(!xmlhttp)
        {
        alert("創建xmlhttpRequest發生異常!");
        return false;
        }
        //獲取地區下拉框的value值,作為條件發送
        var ss=document.getElementById("a2").value.substring(0,4);
        }
        //要發送的url,UserAjax我專門用來取數據
        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為返回的一個字符串,形式為"0001/代理商1,0002/代理商2,0003/代理商3"
        var str=xmlhttp.responseText;
        //將該字符串分割為數組形式
        var strs=str.split(",");
        document.getElementById("agent").options.add(new Option("----------","000000"));
        for(var i=0;i<strs.length-1;i++)
        {
        //獲取value值(編號)
        var a=strs[i].substring(0,strs[i].lastIndexOf("/"));
        //獲取綁定內容
        var b=strs[i].substring(strs[i].lastIndexOf("/")+1,strs.length);
        //綁定到下拉框
        document.getElementById("agent").options.add(new Option(b,a));
        }
        }
        }
        }
        xmlhttp.send();
        }

        另外順便介紹一下UserAjax接收到該地區編號后獲取數據返回字符串的過程。
        代碼如下:


        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);

        這樣,一個比較棘手的問題用ajax就獲得了完美解決,并且不會因向后臺回發而導致下拉框初始化,導致選項改變,親愛的朋友,看了這個例子,你對ajax是不是也有了
        更好的認識呢?

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ajax完美解決的下拉框的onchange問題

        ajax完美解決的下拉框的onchange問題:即在觸發地區下拉框的onchange事件時,代理商的下拉框選項也相應的改變,比如選擇地區 湖南—〉長沙,那么代理商下拉框只顯示長沙的代理商。 本來認為這個很好實現,但實際改起來的時候發現問題多多,主要問題是原有的地區聯動是用js實現的,它的數據源是一個
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲成av人片在线看片| 丰满亚洲大尺度无码无码专线 | 亚洲国产精品嫩草影院久久| 亚洲AV无码久久精品狠狠爱浪潮| 在线aⅴ亚洲中文字幕| 青青操免费在线观看| 99久久免费国产精品特黄| 狠狠亚洲狠狠欧洲2019| 亚洲成人激情小说| 8x8×在线永久免费视频| 免费jlzzjlzz在线播放视频| 日韩精品一区二区亚洲AV观看| 一本久久免费视频| 最近中文字幕无吗免费高清| 久久精品国产亚洲av成人| 免费看黄的成人APP| 久久精品国产精品亚洲| 91在线视频免费观看| 亚洲狠狠综合久久| 成人A毛片免费观看网站| 全黄a免费一级毛片人人爱| 猫咪免费人成在线网站| 成人免费在线观看网站| 黄色a级免费网站| 亚洲愉拍99热成人精品热久久 | 日韩精品免费一线在线观看| 成人a免费α片在线视频网站| 亚洲综合日韩中文字幕v在线| www视频免费看| 亚洲另类视频在线观看| 久久久久久AV无码免费网站下载 | 日韩中文字幕在线免费观看| 亚洲精品国产成人中文| 久久久久久一品道精品免费看| 亚洲乱码一二三四区麻豆| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 免费三级毛片电影片| 亚洲视频在线观看网站| 久久国产乱子伦免费精品| 亚洲熟妇AV日韩熟妇在线| 国产亚洲精品不卡在线|