<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    張慧的博客

    張慧的博客

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      45 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks
    ;(function($){
    /**
     * 依賴jquery-1.4.2
     * 依賴jquery.json-2.2,參考http://code.google.com/p/jquery-json/
     * 用于將form序列化成json串,并且可以反序列化添充回來
     * 作者:段旭光 2010-08-08
     */
    $.fn.serializeObjectToJson = function()
    {
        /**
         * 此方法代碼參考:http://css-tricks.com/snippets/jquery/serialize-form-to-json/
         */
       var o = {};
       var a = this.serializeArray();
       $.each(a, function() {
           if (o[this.name]) {
               if (!o[this.name].push) {
                   o[this.name] = [o[this.name]];
               }
               o[this.name].push(this.value || '');
           } else {
               o[this.name] = this.value || '';
           }
       });
       return o;
      // return $.toJSON(o);
    };
    /**
     * 按json格式添充現有form,基中json的key對應form內的元素name
     * 支持input、radio、select、textarea單值或多值
     * 參數json為json對象
     */
    $.fn.unSerializeObjectFromJson = function(json)
    {
        if(!json) return;
        var values=eval('('+json+')');
        var form=this;
        /**
         * 得到現有form表單的內容,如果表單有默認值則全部清空,主要針對單值表單項,如:checkbox、radio,因為這些項如果不選中會不被序列化記錄暫存,所以
         * 在反序列化時,無法處理可能存在默認值的這些表單項,所以這里做一下特殊處理
         */
        var defaultFormJsonValues=form.serializeObjectToJson();
        $.each(defaultFormJsonValues, function(key, value){
            var object=form.find("*[name='"+key+"']");
            if(object.length==1){
                if(object.attr("type").toLowerCase()=='radio' || object.attr("type").toLowerCase()=='checkbox'){
                    object.attr("checked",false);
                }
            }
        });
        //加載需要添充的表單內容
        $.each(values, function(key,value){
            var object=form.find("*[name='"+key+"']");//得到form內指定name的控件
            if(object.length==1){
                if(object.attr("type").toLowerCase()=='radio' || object.attr("type").toLowerCase()=='checkbox'){
                    if(object.val()==value){
                        object.attr("checked",true);
                    }
                    return true;
                }else{
                    object.val(value);
                }
            }else if(object.length>1){
                object.each(function(i){
                    if(object.attr("type").toLowerCase()=='radio' || object.attr("type").toLowerCase()=='checkbox'){
                        if($.inArray($(this).val(),value)!=-1){
                            $(this).attr("checked",true);
                        }else{
                            $(this).attr("checked",false);
                        }
                    }else{
                        $(this).val(value[i]);
                    }
                });
            }
        });

    };
    /**
     * 得到當前年的第一天
     */
    $.getCurrentYearFirstDay=function(format){
        var date=new Date();
        var fDate=new Date(date.getFullYear(),0,1,0,0,0,0);
        return $.getFormateDate(format,fDate);
    };
    /**
     * 得到當前年的最后一天
     */
    $.getCurrentYearLastDay=function(format){
        var date=new Date();
        var fDate=new Date(date.getFullYear(),11,31,23,59,59,999);
        return $.getFormateDate(format,fDate);
    };
    /**
     * 得到當前月的第一天
     */
    $.getCurrentMonthFirstDay=function(format){
        var date=new Date();
        var fDate=new Date(date.getFullYear(),date.getMonth(),1,0,0,0,0);
        return $.getFormateDate(format,fDate);
    };
    /**
     * 得到當前月的最后一天
     */
    $.getCurrentMonthLastDay=function(format){
        var date=new Date();
        var fDate=new Date(date.getFullYear(),date.getMonth()+1,0,23,59,59,999);
        return $.getFormateDate(format,fDate);
    };
    /**
     * 格式化日期
     */
    $.getFormateDate = function(fmt,date){
        if(!date) date=new Date();
        var o={   
        "M+" : date.getMonth()+1, //月份     
        "d+" : date.getDate(), //日     
        "h+" : date.getHours()%12 == 0 ? 12 : date.getHours()%12, //小時
        "H+" : date.getHours(), //小時
        "m+" : date.getMinutes(), //分
        "s+" : date.getSeconds(), //秒
        "q+" : Math.floor((date.getMonth()+3)/3), //季度
        "S" : date.getMilliseconds() //毫秒
        };
        var week={
        "0" : "\u65e5",
        "1" : "\u4e00",
        "2" : "\u4e8c",
        "3" : "\u4e09",
        "4" : "\u56db",
        "5" : "\u4e94",
        "6" : "\u516d"    
        };
        if(/(y+)/.test(fmt)){ 
            fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));     
        }     
        if(/(E+)/.test(fmt)){
            fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[date.getDay()+""]);     
        }     
        for(var k in o){
            if(new RegExp("("+ k +")").test(fmt)){
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
            }
        }
        return fmt;
    };
    })(jQuery);
    posted on 2012-07-18 21:21 張慧 閱讀(5733) 評論(3)  編輯  收藏

    Feedback

    # re: form序列化成json串 2013-08-01 11:32 趙歡歡
    都是固定個電飯鍋  回復  更多評論
      

    # re: form序列化成json串[未登錄] 2015-02-12 17:43 123
    123123  回復  更多評論
      

    # re: form序列化成json串 2015-05-09 15:56 王啟軍
    王啟軍的內容  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产成人久久精品软件 | 日本免费一二区在线电影| 国产激情免费视频在线观看| 久久精品亚洲精品国产色婷 | 最近中文字幕完整版免费高清| 四只虎免费永久观看| 免费无码一区二区三区蜜桃大| 爽爽爽爽爽爽爽成人免费观看 | 久久天天躁狠狠躁夜夜免费观看| 91免费资源网站入口| 成人午夜性A级毛片免费| 久久大香伊焦在人线免费| 亚洲色大成网站www尤物| 亚洲欧美日韩国产成人| 免费中文字幕视频| 亚洲1区2区3区精华液| 亚洲精品成人无码中文毛片不卡| 啊v在线免费观看| 精品亚洲麻豆1区2区3区| 亚洲综合在线观看视频| 久久国产亚洲高清观看| 国产亚洲美女精品久久久久狼| 无码视频免费一区二三区| 亚洲精品国产自在久久| 亚洲av中文无码乱人伦在线播放| 亚洲成av人片在线观看天堂无码 | 青青操视频在线免费观看| 特级毛片全部免费播放| 亚洲国语在线视频手机在线| 污污网站18禁在线永久免费观看| 亚洲AV无码一区二区乱孑伦AS| 0588影视手机免费看片| 亚洲AV无码一区二区三区电影 | 色视频色露露永久免费观看| 一级毛片高清免费播放| 亚洲国产成人久久精品影视| 成人人免费夜夜视频观看| 一级特黄aaa大片免费看| 亚洲电影在线免费观看| 亚洲&#228;v永久无码精品天堂久久 | 亚洲欧美自偷自拍另类视|