2012-04-09 8 views
0

Ich habe einen Code mit meinem Code unter http://jsfiddle.net/dorraba/HuDPJ/ Ich möchte einen einfachen Warenkorb erstellen, wo ich Elemente hinzufügen und entfernen kann. Meine Absicht ist, dass das Produkt ein Objekt sein wird (Name und Preis) Der Einkaufswagen enthält eine Liste von Artikeln, wobei jeder Artikel aus einem Produkt und einer Menge besteht.Knockout Komplexe Variablen nicht bindend

Mein Problem ist, ich finde keinen Weg, um die Textbox Preis durch das Produkt in der Dropdown-Liste in jeder Zeile ausgewählt.

Jede Hilfe wäre großartig. Danke.

Antwort

2


sollten Sie die Wertbindung für Eingabeelemente verwenden, sonst erhalten Sie einen DOM-Fehler.

Darüber hinaus haben Sie die Eigenschaft optionsValue der Optionsbindung auf 'Name' gesetzt, wodurch Knockout den Wert ShoppingCartItem.Product auf den Namen des Produkts setzt.

Die Bindung an verschachtelte Eigenschaften wie Product.Price führt zu einem Fehler, wenn ein übergeordnetes Element (in diesem Fall Price) zu undefiniert ausgewertet wird. Daher müssen Sie prüfen, ob Artikel definiert ist ... wie folgt aus: data-bind="value: (Product() ? Product().Price : '')"

Hier ist eine funktionierende Lösung Ihrer jsfiddle: http://jsfiddle.net/HuDPJ/1/

Verwandte Themen