2016-07-15 5 views
0

Ich versuche, den ausgewählten Wert einer Dropdown-Liste mit knockout js zu meinem Ansichtsmodell übergeben.Wie übergeben ausgewählte Option mit Knockout zu einem beobachtbaren Array

<select class="form-control" style="width:auto" data-bind="options: clients, optionsCaption: 'Choose...', optionsText: 'name', optionsValue: 'value', value: 'selectedCustomer'"></select>

Meiner Ansicht nach Modell, ich habe einen ko beobachtbaren erklärte den eingestellten Wert zu speichern:

self.selectedCustomer = ko.observableArray([]);

Die Variable wird nicht aufgefüllt wird, wenn ich einen Wert aus. Irgendwelche Tipps? Vielen Dank!

Antwort

1

kann ich zwei Probleme mit dem Code sehen:

Sie verbindlich den Wert zu einem observableArray, aber die gewählte Option ein einziger Kunde wäre so sollte observable stattdessen verwendet werden.

Der Wert (value: 'selectedCustomer') sollte auch nicht in einfache Anführungszeichen gesetzt werden, da Sie dann effektiv versuchen, an eine Zeichenfolge und nicht an die beobachtbare Zeichenfolge zu binden.

Versuchen Sie die folgenden:

<select class="form-control" style="width:auto" data-bind="options: clients, optionsCaption: 'Choose...', optionsText: 'name', optionsValue: 'value', value: selectedCustomer"></select> 

Dann in der View-Modell:

self.selectedCustomer = ko.observable(); 
+1

, das funktioniert! Vielen Dank! Zwei dumme Anführungszeichen ... – manufan22122