其實這個接口沒有太大必要去做,因爲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