2017-06-13 11 views
0

ページにドロップダウンリストがあります。ドロップダウンリストにノックアウトデータバインディングがあります。ノックアウトドロップダウンリストにAJAXを入力して選択した値を設定します。

デフォルトでは、ドロップダウンリストには項目はありません。私は動作し、ドロップダウンリストの項目の正しいリストを取得するAJAX呼び出しを持っています。

アイテムのリストが取得され、ドロップダウンリストにロードされたら、ドロップダウンリストの選択したアイテムをどのように設定できますか?

あなたが observableとして selectedValueを宣言し、以下のような値を設定する必要が
<select class="form-control" data-bind="options: listOfPossibleValues, value: selectedValue, optionsCaption: 'Select a Value'"></select> 

$.ajax({ 
      type: 'GET', 
      dataType: 'json', 
      url: url, 
      data: { 
       someParameter: someParameterValue 
      }, 
      success: function (response) { 
       $.each(response, function (index, center) { 
        self.listOfPossibleValues.push(response[index]); 
       }); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
       console.log("There has been an error retrieving the values."); 
      } 
     }); 

答えて

0
<select class="form-control" data-bind="options: listOfPossibleValues, value: selectedValue, optionsCaption: 'Select a Value'"></select> 

$.ajax({ 
      type: 'GET', 
      dataType: 'json', 
      url: url, 
      data: { 
       someParameter: someParameterValue 
      }, 
      success: function (response) { 
       $.each(response, function (index, center) { 
        self.listOfPossibleValues.push(response[index]); 
       }); 
       //set value here 
       $(".form-control").val("xyz123"); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
       console.log("There has been an error retrieving the values."); 
      } 
     }); 
0

self.selectedValue = ko.observable(); 
self.selectedValue("//what ever property value get from business model"); 
0

あなたがdata-bind=...value: selectedValueを使用して変数をノックアウトするためにバインドされた値を選択してきたように、あなたはそれだけを割り当てる必要があります新しい値(選択された値):

self.selectedValue('mySelectedValue'); 

ノックアウトはあなたに残ります

関連する問題