2012-04-06 8 views
2

Ich habe einen Einkaufswagen auf meiner Website und ich muss die Anzahl der Artikel, die sich im Einkaufswagen befinden, einfach ändern.Erstellen eines Schlüssel/Paar-Objekts mit jQuery und einigen Eingaben

Hier ist die Javascript-Code, den ich bisher habe:

<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> 

Die Kommentare, die ich schrieb, sind nur Richtlinien für mich, wie zu verfahren.

Gibt es eine Möglichkeit, ein Schlüssel/Paar-Element zu einem Array von Arten hinzuzufügen? Ich brauche es nur, um einen Schlüssel und einen Wert zu haben. Nichts Außergewöhnliches.

Ich schrieb in einer addKey() Methode nur zu illustrativen Zwecken zu zeigen, was ich erreichen möchte.

Antwort

4
items[productKey] = productQuantity; 
0

Sie können wie anonyme Objekte zu dem Array Items hinzu:

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

sie dann als items[0].key oder items[0].quantity später zugreifen.

0

Sie können auch JQuery.data-Methode verwenden, und Sie können diese auch verschwinden lassen.

1

In JavaScript-Arrays sind Objekte (typeof(new Array)==='object') und Objekte können Eigenschaften aufweisen, die erhalten werden können/set mit punkt- oder Bügelmontage Syntax:

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]" 

So in Ihrem Fall, können Sie einfach die productQuantity Wert für das Attribut productKey des Arrays item als solches:

items[productKey] = productQuantity; 
items[productKey]; // => productQuantity 
Verwandte Themen