2

ウェブサイトにカートがあり、ユーザーがカートにあるアイテムの数量を一度に簡単に変更できるようにする必要があります。

これが私がこれまでに持っている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()達成したいことを示すために、説明のためだけにメソッドを作成しました。

4

4 に答える 4

4
items[productKey] = productQuantity;
于 2012-04-06T16:12:50.270 に答える
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
于 2012-04-06T16:25:58.497 に答える
0

次のように、匿名オブジェクトをitems配列に追加できます。

items.push({
    key: productKey,
    quantity: productQuantity
});

その後、items[0].keyまたはとしてそれらにアクセスしますitems[0].quantity

于 2012-04-06T16:17:47.607 に答える
0

また、JQuery.dataメソッドを使用することもでき、そのようにして、非表示になっているものを取り除くこともできます。

于 2012-04-06T16:22:23.170 に答える