【发布时间】:2015-06-30 09:13:29
【问题描述】:
我有很多选择框,像这样:
<select class="variants" name="variant[Color]" data-type="Color">
// ... options here
</select>
<select class="variants" name="variant[Size]" data-type="Size">
// ... options here
</select>
<select class="variants" name="variant[Brand]" data-type="Brand">
// ... options here
</select>
然后我通过 Ajax 发送这个,当用户点击提交按钮时:
$.post('some_url.php', {
id: $(this).attr('data-id'),
amount: $('#amount').val(),
variants: JSON.stringify(variants)
},
function(data) {
// some code here
});
一切正常,我只需在数组variants 中设置所有选择框的值,如下所示:
variants: { Color: "Blue", Size: "45", Brand: "Some Brand" }
怎么做?我试过这个:
$('.variants').each(function(i, obj) {
variants[$(obj).attr('data-type')] = $(obj).val();
});
console.log(variants); // here I see an array
但在$.post 控制台中有这样的:
amount 1
id 14217
variants []
为什么?
【问题讨论】: