我在页面上有一个下拉列表。我在下拉列表中有敲除数据绑定。
默认情况下,下拉列表中没有任何项目。我有一个可以工作的AJAX调用,并为下拉列表检索正确的项目列表。
在检索项目列表并将其加载到下拉列表后,如何设置下拉列表中的所选项目?
<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 :(得分: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.");
}
});
答案 1 :(得分:0)
您必须将selectedValue
声明为observable
并设置如下所示的值:
self.selectedValue = ko.observable();
self.selectedValue("//what ever property value get from business model");
答案 2 :(得分:0)
当您使用data-bind=...value: selectedValue
选择绑定到变量的值时,您只需要为其分配一个新值(选定的值):
self.selectedValue('mySelectedValue');
Knockout将为您完成剩下的工作