我有一个JavaScript函数,它迭代一个表单以根据输入字段的名称获取输入值。但是,为了满足API post请求参数,我需要以下JSON格式的输入:
{
"name": "mobile offers",
"group_id": "35"
}
其中"名称" field是来自文本框和" 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;
};
我尝试过使用两个独立的函数,一个用于名称,一个用于id,但是无法弄清楚如何将输出放在一起,将表单序列化两次没有意义。 / p>
答案 0 :(得分:1)
如果name
个复选框不正确,可以在序列化之前将其更改为id值
$(':checkbox').attr('name',function(){
return this.id;
});
/* now serialize form*/