1
我有很多選擇框,這樣的:如何在多個輸入字段中獲取字段索引?
<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 []
爲什麼?
選擇框是動態的,它並不總是顏色,尺寸和品牌;可以有各種各樣的變體名稱。我更新了我的問題。 – Legionar
好的,我爲你更新了我的答案。 –
是的,這是行得通的。謝謝。我想,我可以將它保存在數組中,然後使用'JSON.stringify',但它不工作,不知道爲什麼。所以我剛把'[]'改成了'{}',現在就ok了。 – Legionar