欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ajax 3联动 的有关问题

更新时间: 2014-01-05 01:53:43 责任编辑: Author_N1

 

ajax 3联动 的问题
3联动可以实现。但是有小问题。当1、2级联动为selected默认时下一级获取不到数据。如
一级为省:1、河南 2、河北 3、 广东
二级为(河南的)市:1、郑州 2、新乡
三级 略
一级默认为河南,初始化进入页面后 点击河南 无反应,但点击河北或广东可联动出相应市
二级默认selected是第一个也就是郑州,点击郑州无反应,点其他可联动出对应县
这是为什么 怎么改呢
jsp页面为:

省:
<select name="op2" id="op2" onChange="OpSelectChange(this)" ></select>
市:
<select name="op2" id="op2" onChange="OpSelectChange(this)" ></select>
县:
<select name="op3" id="op3" onChange="this.value=this.options[this.selectedIndex].value;" ></select>
 

ajax

 var request;
        var OptionsName;
        iniOptions();

        //初始化第一个列表框
        function iniOptions() {
            OptionsName = "op1";
            getNextOptions(""); //初始化第一个列表框
        }

        //创建求XMLHttpRequest对象
        function createRequest() {
            try {
                request = new XMLHttpRequest();
            } catch (trymicrosoft) {
                try {
                    request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (othermicrosoft) {
                    try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (failed) {
                        request = false;
                    }
                }
            }
            if (!request)
                alert("错误,无法请求XMLHttpRequest!");
        }

        //发送请求,获取下一个列表框的列表数据
        //参数oValue为当前列表框的选中值,此值作为下一个列表框的parentID号
        function getNextOptions(oValue) {
            createRequest();
            var url = "OptionServer.jsp?parentid=" + oValue;
            request.open("GET", url, true);
            request.onreadystatechange = opcallback;
            request.send(null);
        }

        //回调函数
        function opcallback() {
            if (request.readyState == 4) {
                if (request.status == 200) {
                    var response = request.responseText; //获取服务器返回的JSON字串
addOptions(response); //添加option选项
                } else
                    alert("status is " + request.status);
            }
        }
        
        //添加option选项
        function addOptions(str) {
            var jsonObj = eval(str);// JSON字符串转JSON对象
            var opObj = document.getElementById(OptionsName);
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:53:43
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2692/
本文WWW.DOC100.NET DOC100.NET版权所有。