【发布时间】:2013-12-09 14:11:44
【问题描述】:
我有一个 JavaScript 函数,它遍历表单以根据输入字段的名称获取输入值。但是,为了满足 API post 请求参数,我需要以下 JSON 格式的输入:
{
"name": "mobile offers",
"group_id": "35"
}
其中“name”字段是从文本框输入的结果,“group_id”字段是通过复选框选择选项的结果。如何更改此函数,以便它根据文本框字段的名称和复选框的 ID 进行输入?
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
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;
};
我尝试过使用两个单独的函数,一个用于 name,一个用于 id,但不知道如何将输出放在一起,并且两次序列化表单没有意义。
【问题讨论】:
-
那么名称在复选框上没有意义吗?很简单,先改名字,再序列化
-
是的,名字毫无意义,但你是什么意思?
标签: javascript jquery forms