次のようなノックアウトとのオプションバインディングがあります。
<select id="ddlProducts" data-bind="options: ShowProducts, optionsText: 'pruductskuname', optionsCaption: 'Choose a product...', value: currentproduct"></select>
シリアル番号を検証して製品名を返す ajax 呼び出しがあります。選択したオプションを返品商品に変更したいです。私の ajax 呼び出しからの戻り値は、製品名: pruductskuname です。
返品に基づいて選択したオプションを設定する方法はありますか?
たとえば、Return == ProductA の場合は、Options ProductA で検索し、値を ProductA に設定します。
ここに私のVMがあります:
/* Data View Model */
var myDataViewModel = {
products: ko.observableArray(),
viewserialized: ko.observable(1),
currentordernumer: ko.observable(),
currentserialqty: ko.observable(),
currentproduct: ko.observable(),
dataitems: ko.observableArray()
};
そして、ここに戻りメッセージを取得する私のajax呼び出しがあります:
$.ajax({
url: "ServiceURL",
data: { Serial: ko.toJS(myDataViewModel.currentserialqty) },
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "JSON",
timeout: 10000,
success: function (Result) {
/*SET OPTION BINDING HERE BASED ON Result.d */
alert(Result.d);
},
error: function (xhr, status) {
alert(status + " - " + xhr.responseText);
}
});