優化的國籍JS

/** 國籍與證件類型操做類 */html

var NationalityCertificateUtil = function(){};spa

/** 默認的證件類型 */
NationalityCertificateUtil.prototype.DEFAULTOptions = '<option value="">請選擇</option>'; 
/** 中國國籍可選的證件類型 */
NationalityCertificateUtil.prototype.CHNOptions = '<option value="">請選擇</option><option value="01">身份證</option><option value="03">軍官證</option><option value="08">士兵證</option>';
/** 中國被保人可選的證件類型 */
NationalityCertificateUtil.prototype.CHNInsuredOptions = '<option value="">請選擇</option><option value="01" selected="selected">身份證</option><option value="03">軍官證</option><option value="06">出生證</option><option value="07">戶口本</option><option value="08">士兵證</option>';
/** 中國被保人未選中的證件類型 */
NationalityCertificateUtil.prototype.CHNInsuredNoSelect = '<option value="">請選擇</option><option value="01">身份證</option><option value="03">軍官證</option><option value="06">出生證</option><option value="07">戶口本</option><option value="08">士兵證</option>';
/** 中國國籍成年人可選的證件類型 */
NationalityCertificateUtil.prototype.CHNAultOptions = '<option value="">請選擇</option><option value="01">身份證</option><option value="03">軍官證</option><option value="08">士兵證</option>';
/** 中國國籍未成年人可選的證件類型 */
NationalityCertificateUtil.prototype.CHNNoAultOptions = '<option value="">請選擇</option><option value="01">身份證</option><option value="06">出生證</option><option value="07">戶口本</option>';
/** 香港澳門可選的證件類型 */
NationalityCertificateUtil.prototype.HKAMptions = '<option value="">請選擇</option><option value="04">港澳回鄉證</option>';
/** 臺灣可選的證件類型 */
NationalityCertificateUtil.prototype.TWptions = '<option value="">請選擇</option><option value="09">臺胞證</option>';
/** 其餘國籍可選的證件類型 */
NationalityCertificateUtil.prototype.OTHERptions = '<option value="">請選擇</option><option value="02">護照</option>';.net


/**
 * 頁面初始化時,根據國籍加載頁面的證件類型,prototype

*代碼比原來的改得好,原代碼區分投被保人,受益人,很是複雜。
 */
NationalityCertificateUtil.prototype.initIdtype = function(){
    var nativas = $(".nativacode");
    if(nativas){
        for(var i = 0; i < nativas.length; i++){
            
            var idtypeOptioin = nationalityCertificateUtil.DEFAULTOptions;
            var parentTab = $(nativas[i]).closest("tbody"); //能夠有效避免標識太多的狀況
            /** 證件類型節點 */
            var idtypeEle = $(parentTab).find(".idType");  // 找當前國籍的tbody的證件類型ele
            var initIdtypeValue = $(idtypeEle).val();   //證件類型val()
            /** 國籍 */
            var native = $(nativas[i]).val();  //國籍val(), 經過國籍來決定顯示證件列表
            switch (native) {
                case 'CHN':
                    idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;code

      var idtypename = $(idtypeEle).attr("name");
                    if(idtypename.indexOf("insured") != -1){
                        idtypeOptioin = nationalityCertificateUtil.CHNInsuredOptions;
                    }
                    /** 出生日期 */
                    var birthday = $(parentTab).find(".birthday").val();
                    if(birthday != "" && birthday != "請選擇"){
                        var age = birth.getAge(birthday);
                        if(age >= 18){
                            idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;
                        }
                        else {
                            idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                        }
                    }
                    break;
                case 'HKG':
                    idtypeOptioin = nationalityCertificateUtil.HKAMptions;
                    break;
                case 'MAC':
                    idtypeOptioin = nationalityCertificateUtil.HKAMptions;
                    break;
                case 'TWN':
                    idtypeOptioin = nationalityCertificateUtil.TWptions;
                    break;
                default:
                    if("" != native){
                        idtypeOptioin = nationalityCertificateUtil.OTHERptions;
                    }
            }
            $(idtypeEle).html(idtypeOptioin);
            
            if(initIdtypeValue != ""){
                $(idtypeEle).val(initIdtypeValue);
            }
        }
    }
};htm

/**
 * 頁面初始化時,根據國籍加載頁面的證件類型
 */
NationalityCertificateUtil.prototype.initIdtypeToisAdult = function(){
    var nativas = $(".nativacode");
    if(nativas){
        for(var i = 0; i < nativas.length; i++){
            
            var idtypeOptioin = nationalityCertificateUtil.DEFAULTOptions;
            var parentTab = $(nativas[i]).closest("tbody");
            /** 證件類型節點 */
            var idtypeEle = $(parentTab).find(".idType");
            var initIdtypeValue = $(idtypeEle).val();
            /** 國籍 */
            var native = $(nativas[i]).val();
            switch (native) {
                case 'CHN':
                    idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;get

      var idtypename = $(idtypeEle).attr("name");
                    if(idtypename.indexOf("insured") != -1 ){
                        var isadult = $("#isadult").val();   //判斷是否成年
                        if(isadult == '0'){
                            idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                        }else{
                            idtypeOptioin = nationalityCertificateUtil.CHNInsuredOptions;
                        }
                    }
                    
                    if(idtypename.indexOf("benef") !=-1){
                        idtypeOptioin = nationalityCertificateUtil.CHNInsuredNoSelect;
                    }
                    /** 出生日期 */
                    var birthday = $(parentTab).find(".birthday").val();
                    if(birthday != "" && birthday != "請選擇"){
                        var age = birth.getAge(birthday);
                        if(age >= 18){
                            idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;
                        }
                        else {
                            idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                        }
                    }
                    break;
                case 'HKG':
                    idtypeOptioin = nationalityCertificateUtil.HKAMptions;
                    break;
                case 'MAC':
                    idtypeOptioin = nationalityCertificateUtil.HKAMptions;
                    break;
                case 'TWN':
                    idtypeOptioin = nationalityCertificateUtil.TWptions;
                    break;
                default:
                    if("" != native){
                        idtypeOptioin = nationalityCertificateUtil.OTHERptions;
                    }
            }
            $(idtypeEle).html(idtypeOptioin);
            
            if(initIdtypeValue != ""){
                $(idtypeEle).val(initIdtypeValue);
                if(initIdtypeValue=='01' ){
                    /**隱藏sex和birthday節點,紅色的代碼比原來好*/
                 $(idtypeEle).closest(".filltable").find('.sex').closest('tr').attr("style", "display:none");it

         $(idtypeEle).closest(".filltable").find('.birthday').closest('tr').attr("style", "display:none");
                }
                if( initIdtypeValue=='07'){
                    /**讓sex和birthday節點不能修改*/
                    $(idtypeEle).closest(".filltable").find('.sex').attr("disabled", "disabled");
                    $(idtypeEle).closest(".filltable").find('.birthday').attr("disabled", "disabled");io

 $(idtypeEle).closest(".filltable").find('.birthday').attr("style", "background:#e8e8e8;color:#000");
   $(idtypeEle).closest(".filltable").find('.sex').attr("style", "background:#e8e8e8;color:#000");
                }
            }
        }
    }
};table

/**
 * 設置證件類型
 * parameter 國籍的元素
 */
NationalityCertificateUtil.prototype.setIdtype = function(ele){
    var idtypeOptioin = nationalityCertificateUtil.DEFAULTOptions;
    var parentTab = $(ele).closest("tbody");
    /** 證件類型節點 */
    var idtypeEle = $(parentTab).find(".idType");
    /** 國籍 */
    var native = $(ele).val();
    switch (native) {
        case 'CHN':
            idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;

            var idtypename = $(idtypeEle).attr("name");
            if(idtypename.indexOf("insured") != -1){
                idtypeOptioin = nationalityCertificateUtil.CHNInsuredOptions;
            }
            /** 出生日期 */
            var birthday = $(parentTab).find(".birthday").val();
            if(birthday != "" && birthday != "請選擇"){
                var age = birth.getAge(birthday);
                if(age >= 18){
                    idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;
                }
                else {
                    idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                }
            }
            break;
        case 'HKG':
            idtypeOptioin = nationalityCertificateUtil.HKAMptions;
            break;
        case 'MAC':
            idtypeOptioin = nationalityCertificateUtil.HKAMptions;
            break;
        case 'TWN':
            idtypeOptioin = nationalityCertificateUtil.TWptions;
            break;
        default:
            if("" != native){
                idtypeOptioin = nationalityCertificateUtil.OTHERptions;
            }
    }
    $(idtypeEle).html(idtypeOptioin);
};

/**
 * 設置證件類型
 * parameter 國籍的元素
 */
NationalityCertificateUtil.prototype.setIdtypeToisAdult = function(ele){
    var idtypeOptioin = nationalityCertificateUtil.DEFAULTOptions;
    var parentTab = $(ele).closest("tbody");
    /** 證件類型節點 */
    var idtypeEle = $(parentTab).find(".idType");
    var initIdtypeValue = $(idtypeEle).val();
    /** 國籍 */
    var native = $(ele).val();
    switch (native) {
        case 'CHN':
            idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;

            var idtypename = $(idtypeEle).attr("name");
            if(idtypename.indexOf("insured") != -1 ){
                var isadult = $("#isadult").val();
                if(isadult == '0'){
                    idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                }else{
                    idtypeOptioin = nationalityCertificateUtil.CHNInsuredOptions;
                }
            }
            
            if(idtypename.indexOf("benef") !=-1){
                idtypeOptioin = nationalityCertificateUtil.CHNInsuredOptions;
            }
            /** 出生日期 */
            var birthday = $(parentTab).find(".birthday").val();
            if(birthday != "" && birthday != "請選擇"){
                var age = birth.getAge(birthday);
                if(age >= 18){
                    idtypeOptioin = nationalityCertificateUtil.CHNAultOptions;
                }
                else {
                    idtypeOptioin = nationalityCertificateUtil.CHNNoAultOptions;
                }
            }
            break;
        case 'HKG':
            idtypeOptioin = nationalityCertificateUtil.HKAMptions;
            break;
        case 'MAC':
            idtypeOptioin = nationalityCertificateUtil.HKAMptions;
            break;
        case 'TWN':
            idtypeOptioin = nationalityCertificateUtil.TWptions;
            break;
        default:
            if("" != native){
                idtypeOptioin = nationalityCertificateUtil.OTHERptions;
            }
    }
    $(idtypeEle).html(idtypeOptioin);
    if(initIdtypeValue != ""){
        if($(idtypeEle).find("option[value='"+initIdtypeValue+"']").length>0){
            $(idtypeEle).val(initIdtypeValue);
        }
    }
};

NationalityCertificateUtil.prototype.cardValidate = function(idno,idtype,nation){
  同樣 。。。。。。。
};

/**
 * 驗證身份證是否正確
 * @param num 身份證
 * @returns {Boolean}
 */
NationalityCertificateUtil.prototype.idValidate = function(num) {
    同樣。。。

};

var nationalityCertificateUtil = new NationalityCertificateUtil();

相關文章
相關標籤/搜索