我的网站上有一个购物车,我需要让用户随时轻松更改购物车中的商品数量。
这是我到目前为止的javascript代码:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
var items = [];
$(".item").each(function () {
var productKey = $(this).find("input[type='hidden']").val();
var productQuantity = $(this).find("input[type='text']").val();
items.addKey(productKey, productQuantity); ?
});
// 1. Grab the values of each ammount input and it's productId.
// 2. Send this dictionary of key pairs to a JSON action method.
// 3. If results are OK, reload this page.
});
</script>
我写的评论只是关于如何进行的指导。
有没有办法将键/对元素添加到排序数组中?我只需要它有一个关键和价值。没什么好看的。
我用addKey()
方法写的只是为了说明目的,以显示我想要完成的任务。
答案 0 :(得分:4)
items[productKey] = productQuantity;
答案 1 :(得分:1)
在JavaScript中,数组是对象(typeof(new Array)==='object'
),对象可以具有可以使用点或括号语法获取/设置的属性:
var a = [1,2,3];
JSON.stringify(a); // => "[1,2,3]"
a.foo = 'Foo';
a.foo; // => 'Foo'
a['foo']; // => 'Foo'
JSON.stringify(a); // => "[1,2,3]"
因此,在您的情况下,您可以简单地将productQuantity值作为item
数组的productKey属性:
items[productKey] = productQuantity;
items[productKey]; // => productQuantity
答案 2 :(得分:0)
您可以将匿名对象添加到items数组中,如:
items.push({
key: productKey,
quantity: productQuantity
});
然后以items[0].key
或items[0].quantity
。
答案 3 :(得分:0)
你也可以使用JQuery.data方法,你也可以摆脱那些隐藏的东西。