easyUI datagrid實現前臺表單數據批量轉json串

問題引出

easyUI的datagrid容許使用load方法,經過這樣的方式向後臺發送數據:javascript

$('#dg').datagrid('load',{
    code: '01',
    name: 'name01'
});

問題來了,不少狀況下,列表頁上搜索框一般會有不少搜索條件,若是這樣一個個條件的拼鍵值對,費時費力,那麼有什麼方法來快速把搜索條件批量轉成json嗎?答案是有的!java

解決方案

直接上代碼:
JS代碼:json

/*****************搜索數據****************************/
  $(function () {
      $("#searchBtn").click(function () {
            const serializeArr = $('#fm1').serializeObject();
            $('#dg').datagrid('load', serializeArr);
        });
    })

表單批量轉json對象方法:this

/**
     * 自動將form表單封裝成json對象
     */
  $.fn.serializeObject = function() {
        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;
    };
相關文章
相關標籤/搜索