2017-07-04 2 views
0

Ich arbeite an einem Projekt, in dem Daten von der API abgerufen werden, und ich versuche, eine Dropdown-Liste zu erstellen, mit Auswahl binden. Ich habe mein ausgewähltes Wertobjekt beobachtbaren Objekt in meinem Datenmodell deklariere, aber wenn ich versuche, den Wert in wählen Sie die Option Bindung zu verwenden, das gibt mir einen Fehler von Wert ist keine Funktion:knockout Option wählen funktioniert nicht

//.... 
    <h1 class="page-header">Kitchen</h1> 
    <select data-bind="options:dataModel.options()[0]['Kitchen'], optionsText:'label', value: selectedValue"> 
    </select> 
</div>` 

Dies ist der HTML-Code wo ich wählte:

var dataModel = { 
    selectedValue : ko.observable() 
}; 

Wie ich schon sagte, die Daten werden von JSON-Datei abgerufen.

Dies ist, wie Json wie folgt aussieht:

"options": { 
    "Kitchen": [{ 
     "label": "Ivory", 
     "data": "001-001" 
    }, 
    { 
     "label": "Chocolate", 
     "data": "001-002" 
    }] 
} 

Antwort

0

Die options von json kein Array (die Anordnung einer der Kitchen ist), so sollte es dataModel.options()['Kitchen'] statt dataModel.options()[0]['Kitchen'] nicht sein. Oder vielleicht können Sie setzen dataModel.options().Kitchen Also die select geht werden wie folgt aussehen:

<select data-bind="options:dataModel.options().Kitchen, optionsText:'label', value: selectedValue"> 
</select> 
+0

Keine seiner Arbeits, Mittel und Wege. Ich mache in diesem dataModel.options() [0] ['Kitchen'] Weg, weil Küche in Optionen Objekt ist. Optionen ist das beobachtbare Array. Und selbst wenn Sie mir helfen könnten, den Wert von Optionen und dann ihre spezifischen Daten wie Name, Daten, anstatt sie hart zu verdrahten. –

+0

Ich bekomme diesen Teil nicht ganz klar: "Und selbst wenn Sie mir helfen könnten, den Wert von Optionen und dann ihre spezifischen Daten wie Name, Daten, anstatt sie hart zu verdrahten". Das Ziel ist es, das 'Kitchen's Label' im Dropdown-Menü zu listen? – samAlvin

+0

@RishabhSharma Damit die'Auswahl' bereits funktioniert, zeigt die Dropdown-Liste auch bereits die richtige Liste, aber der ausgewählte Wert gibt einen Fehler, wenn Sie ihn verwenden möchten? – samAlvin

Verwandte Themen