Knockout.js Knockoutjs-在下拉列表中设置值

Knockout.js Knockoutjs-在下拉列表中设置值,knockout.js,Knockout.js,我在使用knockoutjs的字段中有一个下拉框,如下所示: <select name="CanBePickedUpDropDown" id="CanBePickedUpDropDown" data-bind="value: CanBePickedUp"> <option selected="selected" value="True">Yes</option> <option value="False">No</option

我在使用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("");
}
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) {
        }
    });
};
现在我有了一个Web API,可以将下拉值保存到数据库中。到目前为止,它是有效的。当我在下拉列表中选择“否”时,它在数据库中的保存(PUT)为0(false)。我的问题是在装载时。我似乎无法通过下拉菜单将值设置为“否”。Web API如下所示:

<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("");
}
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);

但是他们都没有成功

尝试
self.canbepickeup(“假”)

尝试
self.canbepickeup(“假”)
尝试
self.canbepickeup(“假”)

尝试
self.canbepickeup(“假”)
根据文档,你的做法是错误的。以下是如何实现同样的目标

  • 创建具有所有可能选项的observableArray
  • 创建另一个可观察对象,它将保存活动值
并根据需要将可观测值设置为是或否

在这里跳


根据文档,您这样做的方式是错误的。以下是如何实现同样的目标

  • 创建具有所有可能选项的observableArray
  • 创建另一个可观察对象,它将保存活动值
并根据需要将可观测值设置为是或否

在这里跳


根据文档,您这样做的方式是错误的。以下是如何实现同样的目标

  • 创建具有所有可能选项的observableArray
  • 创建另一个可观察对象,它将保存活动值
并根据需要将可观测值设置为是或否

在这里跳


根据文档,您这样做的方式是错误的。以下是如何实现同样的目标

  • 创建具有所有可能选项的observableArray
  • 创建另一个可观察对象,它将保存活动值
并根据需要将可观测值设置为是或否

在这里跳