其实这个接口没有太大必要去做,因为jQuery里面已经有了现成的接口可以将form的数据序列化到json字符串中,或者是数组中,所以只要用jQuery先获取一下,然后再转换为我们需要的格式就可以了。
这里之所以要添加这么一个方法,完全是为了用起来更方便,实现很简单,也就不做过多描述了,直接上代码:
实现代码:
/**
* From扩展
* getData 获取数据接口
*
* @param {Object} jq
* @param {Object} params 设置为true的话,会把string型"true"和"false"字符串值转化为boolean型。
*/
$.extend($.fn.form.methods, {
getData: function(jq, params){
var formArray = jq.serializeArray();
var oRet = {};
for (var i in formArray) {
if (typeof(oRet[formArray[i].name]) == 'undefined') {
if (params) {
oRet[formArray[i].name] = (formArray[i].value == "true" || formArray[i].value == "false") ? formArray[i].value == "true" : formArray[i].value;
}
else {
oRet[formArray[i].name] = formArray[i].value;
}
}
else {
if (params) {
oRet[formArray[i].name] = (formArray[i].value == "true" || formArray[i].value == "false") ? formArray[i].value == "true" : formArray[i].value;
}
else {
oRet[formArray[i].name] += "," + formArray[i].value;
}
}
}
return oRet;
}
});
使用方式:
$('#ff').form('getData',true);
转自:http://www.easyui.info/archives/138.html