问题引出
easyUI 的 datagrid 容许应用 load 办法,通过这样的形式向后盾发送数据:
$('#dg').datagrid('load',{
code: '01',
name: 'name01'
});
问题来了,很多状况下,列表页上搜寻框通常会有很多搜寻条件,如果这样一个个条件的拼键值对,费时费力,那么有什么办法来疾速把搜寻条件批量转成 json 吗?答案是有的!
解决方案
间接上代码:
JS 代码:
/***************** 搜寻数据 ****************************/
$(function () {$("#searchBtn").click(function () {const serializeArr = $('#fm1').serializeObject();
$('#dg').datagrid('load', serializeArr);
});
})
表单批量转 json 对象办法:
/**
* 主动将 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;
};