Définir l'option sélectionnée dans une liste déroulante après avoir reçu un résultat d'un appel ajax

- Je utiliser le ViewModel

<script type='text/javascript'>
$(function () {

    var dropdownCtor = function (text, value, defaultValue) {
        this.text = text;
        this.value = value;
        this.defaultValue = defaultValue;
    };

    var productsViewCtor = function () {

        var self = this;

        this.productType = ko.observable();
        this.productTypes = ko.observableArray(['Summer', 'Winter']);
        this.products = ko.observableArray();
        this.product = ko.observable();

        this.productType.subscribe(function (newProductType) {


            $.post(
        '/Home/GetProducts',
        { productType: newProductType },
        function (resultProducts) {
            self.products(resultProducts);
            self.product(resultProducts[2]);
        });

        } .bind(this));

    }
    var productViewModel = new productsViewCtor();

    ko.applyBindings(productViewModel);

});

Un le code Html suivant

<h3> Your Products:</h3>
<p>
     <span><select data-bind="options: productTypes, value: productType"></select></span>
   <span>
   <select data-bind="options: products , optionsText: 'text' ,  optionsValue: 'value' , value: product"></select></span>
</p>
<ol class="round">
 <li >
        <h5   >productType</h5>
       <span data-bind="text: productType"></span>
    </li>
     <li >
        <h5   >product</h5>
       <span data-bind="text: product"></span>
    </li>
</ol>

Lorsque le chargement de la page de l'appel ajax est envoyée, et je reçois tous les produits pour l'hiver. Ils sont affichés dans la liste déroulante et la valeur sélectionnée est 101.

En sélectionnant "été" dans le type de produit déroulante j'essaie de charger le producst de nouveau. C'est également une réussite. Mais je veux pour sélectionner une option (ici 3) par la fixation d'un produit spécifique dans l'VoewModel. Ce produit n'est pas sélectionnée dans la liste déroulante et aussi pas affiché à l'intérieur de la balise span.

Comment puis-je sélectionner un élément dans la liste déroulante?

source d'informationauteur Mathias F