我需要在ajax data属性中创建一个要使用的变量。输出需要看起来像这样:
data: { brand: 1, brand: 4 }
我有几个复选框,具体取决于用户点击的内容我想要更改列表..目前我有这个:
$('body').on('change','form[name=checkboxes] input',function(){
var result = [];
$.each( $('form[name=checkboxes]').serializeArray(), function() {
result.push({
name: this.name,
value: this.value
});
});
console.log(result);
$.ajax({
type: "POST",
url: "/echo/html/",
data: { brand: 1, brand: 4 }
}).done(function( data ) {
});
});
但结果会输出对象。
有没有人有任何建议,我是否在正确的轨道上?
我已经创建了一个帮助http://jsfiddle.net/samstimpson/hzy9jxve/
的JS小提琴修改
我的目标是建立这个"数据:{品牌:1,品牌:4}"动态。如果用户点击了一大堆复选框,我最终希望将列表传递给ajax数据值。我上面所做的可能不正确,我正在寻找一种方法。
答案 0 :(得分:2)
你需要json是非法的,因为品牌领域重复两次(??)
我为你在jsFiddle中创建了一个修复程序:http://jsfiddle.net/ymzrocks/hzy9jxve/1/
var result = {}, i = 1;
$.each( $('form[name=checkboxes]').serializeArray(), function()
{
result[this.name + i] = this.value ; i++;
});
它基本上将品牌领域转变为品牌1,品牌2,......等
我真的认为你应该使用数组或改写你的问题
答案 1 :(得分:1)