IE9及IE9向下兼容各浏览器页面显示问题

lynn_l 2013-11-21 11:32:47
背景:select框下拉显示有BUG,IE10及IE10向下兼容各浏览器均无问题,由于PM用的IE9发现BUG,我换成IE9后,发现IE9下所有类型浏览器均有此BUG,FF、chrome均正常。

BUG:使用F12工具,选中的页面元素与实际显示的有差异,如选中select,下面option为空,页面上则显示出多个option,js已验证,均执行完毕。

见图:1、点击下拉框,出现:
2、选中西宁市,实际显示出南京市
3、实际已加载出江苏省所有城市,但是下拉框依然显示不正确:

贴一段Js:
		$("#provinceOid").change(function(){
$("#distOid").empty();
$("#cityOid").empty();
opt.clone().attr("value", "").html("-"+$("#selectSp").html()+"-").appendTo("#distOid");
opt.clone().attr("value", "").html("-"+$("#selectSp").html()+"-").appendTo("#cityOid");

var parId = $(this).val();
if(parId != ""){
$.ajax({
type:"GET",
url:"<c:url value='/obtaionListDistrictsByParentOidByJson.action'/>",
async:false,
data:{
paramDistParentOid: parId
},
dataType:"json",
success:function(data){
var dists = data.dists;
if(dists != null){
$.each(dists, function(index, value){
var op = opt.clone().attr("value", value.entityOid).html(value.distName).appendTo("#distOid");
});

}
}
});
}
});

这个BUG头疼一天了,望大神们赐教。
...全文
310 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynn_l 2013-11-26
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
纯dom操作试试,不行就是你们浏览器的bug了。。
   $("#provinceOid").change(function () {
        var distOid = $("#distOid")[0];
        var cityOid = $("#cityOid")[0];
        distOid.options.length = 0;
        cityOid.options.length = 0;
        distOid.options.add(new Option("-" + $("#selectSp").html() + "-", ''));
        cityOid.options.add(new Option("-" + $("#selectSp").html() + "-", ''));
        var parId = $(this).val();
        if (parId != "") {
            $.ajax({
                type: "GET",
                url: "<c:url value='/obtaionListDistrictsByParentOidByJson.action'/>",
                async: false,
                data: {
                    paramDistParentOid: parId
                },
                dataType: "json",
                success: function (data) {
                    var dists = data.dists;
                    if (dists != null) {
                        $.each(dists, function (index, value) {
                            distOid.options.add(new Option(value.distName, value.entityOid));
                        });

                    }
                }
            });
        }
    });
解决了。。是因为我的3个select是用js生成的 我后来改成页面写死就可以了 具体原因也不清楚
lynn_l 2013-11-21
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
try
    $("#provinceOid").change(function () {
        $("#distOid").empty();
        $("#cityOid").empty();
        //opt.clone().attr("value", "").html("-" + $("#selectSp").html() + "-").appendTo("#distOid");
        //opt.clone().attr("value", "").html("-" + $("#selectSp").html() + "-").appendTo("#cityOid");
        $('#distOid,#cityOid').append('<option value="">-' + $("#selectSp").html() + '-</option>');
        var parId = $(this).val();
        if (parId != "") {
            $.ajax({
                type: "GET",
                url: "<c:url value='/obtaionListDistrictsByParentOidByJson.action'/>",
                async: false,
                data: {
                    paramDistParentOid: parId
                },
                dataType: "json",
                success: function (data) {
                    var dists = data.dists;
                    if (dists != null) {
                        $.each(dists, function (index, value) {
                            $('#distOid').append('<option value="' + value.entityOid + '">-' + value.distName + '-</option>');
                        });

                    }
                }
            });
        }
    });
不对。
lynn_l 2013-11-21
  • 打赏
  • 举报
回复
引用 1 楼 xzy21com 的回复:
目测应该是克隆混乱造成的。像这种省市县级联动,应该用不着克隆。清空下拉再赋值html或者options.add()即可。
我clone的只是"<option></option>",不是携带数据的 js里面的清空等操作是已经执行过了 我已经测试过了 是已经走通了 并且在F12工具下已经显示正确 BUG就是页面上竟然显示不正确 很头疼
Go 旅城通票 2013-11-21
  • 打赏
  • 举报
回复
try
    $("#provinceOid").change(function () {
        $("#distOid").empty();
        $("#cityOid").empty();
        //opt.clone().attr("value", "").html("-" + $("#selectSp").html() + "-").appendTo("#distOid");
        //opt.clone().attr("value", "").html("-" + $("#selectSp").html() + "-").appendTo("#cityOid");
        $('#distOid,#cityOid').append('<option value="">-' + $("#selectSp").html() + '-</option>');
        var parId = $(this).val();
        if (parId != "") {
            $.ajax({
                type: "GET",
                url: "<c:url value='/obtaionListDistrictsByParentOidByJson.action'/>",
                async: false,
                data: {
                    paramDistParentOid: parId
                },
                dataType: "json",
                success: function (data) {
                    var dists = data.dists;
                    if (dists != null) {
                        $.each(dists, function (index, value) {
                            $('#distOid').append('<option value="' + value.entityOid + '">-' + value.distName + '-</option>');
                        });

                    }
                }
            });
        }
    });
scscms太阳光 2013-11-21
  • 打赏
  • 举报
回复
目测应该是克隆混乱造成的。像这种省市县级联动,应该用不着克隆。清空下拉再赋值html或者options.add()即可。
Go 旅城通票 2013-11-21
  • 打赏
  • 举报
回复
纯dom操作试试,不行就是你们浏览器的bug了。。
   $("#provinceOid").change(function () {
        var distOid = $("#distOid")[0];
        var cityOid = $("#cityOid")[0];
        distOid.options.length = 0;
        cityOid.options.length = 0;
        distOid.options.add(new Option("-" + $("#selectSp").html() + "-", ''));
        cityOid.options.add(new Option("-" + $("#selectSp").html() + "-", ''));
        var parId = $(this).val();
        if (parId != "") {
            $.ajax({
                type: "GET",
                url: "<c:url value='/obtaionListDistrictsByParentOidByJson.action'/>",
                async: false,
                data: {
                    paramDistParentOid: parId
                },
                dataType: "json",
                success: function (data) {
                    var dists = data.dists;
                    if (dists != null) {
                        $.each(dists, function (index, value) {
                            distOid.options.add(new Option(value.distName, value.entityOid));
                        });

                    }
                }
            });
        }
    });

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧