我使用knockoutjs這樣在外地的約束下拉:Knockoutjs - 在下拉菜單中設定值
<select name="CanBePickedUpDropDown" id="CanBePickedUpDropDown" data-bind="value: CanBePickedUp">
<option selected="selected" value="True">Yes</option>
<option value="False">No</option>
</select>
在我的視圖模型,現場看起來是這樣的:
var viewModel = function() {
var self = this;
self.CanBePickedUp = ko.observable("");
}
現在我有一個將下拉值保存到數據庫的Web API。到目前爲止,它的工作。當我在下拉列表中選擇「否」時,它將數據庫中的保存(PUT)保存爲0(假)。我的問題是當涉及到加載。我似乎無法獲得下拉列表以將值設置爲「否」。 Web API如下所示:
self.LoadItem = function() {
$.ajax({
type: "GET",
contentType: "application/json",
url: "Home",
dataType: "json",
success: function (result) {
var data = ko.utils.parseJson(result);
if (data.CanBePickedUp === true)
self.CanBePickedUp("Yes");
else
self.CanBePickedUp.value = "No";
},
error: function (xhr, err) {
}
});
};
在上面的調用中,data.CanBePickedUp正確返回false。我想將其分配給self.CanBePickedUp,以便我的下拉列表顯示「否」(它也顯示「是」)。我已經試過:
self.CanBePickedUp.value = "No";
self.CanBePickedUp.value = false;
self.CanBePickedUp("No");
self.CanBePickedUp(false);
但他們沒有工作