1. 程式人生 > >IE8下無法顯示動態獲取的下拉框的值!

IE8下無法顯示動態獲取的下拉框的值!

1)由於IE8無法用 myOption.text="平臺管理員";得到值,只能用myOption.innerText才能得到,在網上找了很多辦法,試過都不行,最後用了最笨的辦法,直接判斷瀏覽器!

//開啟新增角色的對話窗

function toCreateRole() {
    var roleType = curUser.roleType;
    getRoleType($("#createRole #roleType"),roleType,"add");
    
    var resourceName=curUser.corpName+"["+curUser.resourceNo+"]";
    if(roleType!='PlatAdmin'){//如果不是平臺管理員,就指定resourceNo,並且設定輸入框為不可修改
        $("#createRole #resourceNo").val(resourceName);
        $("#createRole #resourceNo").attr("disabled",true);
    }else{
        $("#createRole #resourceNo").attr("disabled",false);//如果是平臺管理員,就去掉輸入框不可修改的屬性
        //獲取系統的所有公司和部門
        getCorps(Root+"/model/corp/findAllCorps.do",Root+"/model/dept/findDeptsByCondition.do",$("#createRole #resourceNo"),$("#createRole #deptNo"));
    }
    $("#createRole").dialog("option","title","新增角色");
    $("#createRole").dialog("open");
    //驗證修改form
    $("#newRole").validate({
        rules:{
            resourceNo:{required:true,resourceNoNonentity:true},
            roleName:{required:true,checkRoleNameRepetition:true},
            roleType:{selectNone:true}
        },
        submitHandler:function(form){
            addRole();
        },
        wrapper:"div",
        focusInvalid:false,
        focusCleanup:true,
        onkeyup:true
    });
    isNotNull($("label[class='isNotNull']"));

}

//載入角色型別
function getRoleType(obj,val,val2){
    obj.empty();
    if(val=='PlatAdmin'){
        var myOption;
        if(val2=="edit"){
            myOption = document.createElement("option");
            myOption.value="PlatAdmin";
            //如果是ie ,就用innerTest給myOption值
            if(navigator.appName=="Microsoft Internet Explorer"){
                myOption.innerText="平臺管理員";
            }
            //否則就用text
            myOption.text="平臺管理員";


            myOption.setAttribute("selected", "selected");
            obj.append(myOption);
        }
        
        myOption = document.createElement("option");
        myOption.value="CorpAdmin";
        if(navigator.appName=="Microsoft Internet Explorer"){
            myOption.innerText="公司管理員";
        }
        myOption.text="公司管理員";
        obj.append(myOption);
        myOption = document.createElement("option");
        myOption.value="Normal";
        if(navigator.appName=="Microsoft Internet Explorer"){
            myOption.innerText="普通角色";
        }
        myOption.text="普通角色";
        obj.append(myOption);
        
    }else if(val=='CorpAdmin'){
        var myOption;
        if(val2=="edit"){
            myOption = document.createElement("option");
            myOption.value="CorpAdmin";
            if(navigator.appName=="Microsoft Internet Explorer"){
                myOption.innerText="公司管理員";
            }
            myOption.text="公司管理員";
            myOption.setAttribute("selected", "selected");
            obj.append(myOption);
        }
        myOption = document.createElement("option");
        myOption.value="Normal";
        if(navigator.appName=="Microsoft Internet Explorer"){
            myOption.innerText="普通角色";
        }
        myOption.text="普通角色";
        obj.append(myOption);
    }else{
        var myOption = document.createElement("option");
        myOption.value="Normal";
        if(navigator.appName=="Microsoft Internet Explorer"){
            myOption.innerText="普通角色";
        }
        myOption.text="普通角色";
        myOption.setAttribute("selected", "selected");
        obj.append(myOption);
    }
}

2)IE8下,如果程式碼中設定CSS樣式時,設定了border=0,則所有的邊框無法顯示,即使在table上加上border=1,也只對除IE8之外的瀏覽器有效!