2014-06-26 2 views
1

Après avoir lié un modèle de vue à un élément de sélection, puis obtenu la valeur de cet élément. Il renvoie la valeur sélectionnée à l'intérieur d'un tableau. Par exemple: La valeur sélectionnée est "1", la variable de modèle d'affichage a la valeur "[1]".Knockout: la liaison de sélection renvoie un tableau de valeurs

<label>Customer:</label> 
    <select class="form-control" data-bind="options: [1, 2], 
     selectedOptions: Customer"></select> 
    <button data-bind="click: $root.Click">Test</button> 


    function AppViewModel() { 
     var self = this; 
     this.Customer = ko.observable(); 
     this.Click = function(){console.log(self.Customer());} 
    } 

    // Activates knockout.js 
    var temp = new AppViewModel(); 
    ko.applyBindings(temp); 

JS Fiddle Example

J'ai d'autres éléments choisis qui font, et d'autres qui ne le font pas, et pour la vie de moi suis incapable de voir la différence. Toute aide serait grandement appréciée.

+0

Pouvez-vous inclure le code d'exemple pour quand il est * pas * un tableau? – Jeroen

+0

Quelle est la question réelle? –

+0

Désolé ma question est pourquoi est la valeur de retour en tant que tableau. QBM5 me conduit dans la bonne direction, et je me sens un peu gêné de ne pas avoir vu mon erreur. – InvaderZim

Répondre

0

http://jsfiddle.net/Nb5Gs/3/

<label>Customer:</label> 
<select class="form-control" data-bind="options: [1, 2], value: Customer"></select> 
<button data-bind="click: $root.Click">Test</button> 

Je ne suis pas vraiment sûr de ce que votre question est, mais de ce que je peux déduire.

J'ai toujours utilisé value pour une sélection unique et selectedOptions quand il est un sélectionner plusieurs éléments

+0

Il semble que j'ai eu mes options de liaison confus, en changeant "selectedOptions" en "valeur" a résolu mon petit mystère. – InvaderZim

Questions connexes