Knockout.js 淘汰赛&x27;选项值';不';行不通

Knockout.js 淘汰赛&x27;选项值';不';行不通,knockout.js,Knockout.js,我有一个不起作用的代码。 这是这里 数据绑定参数optionsValue的工作方式与参数optionsText不同 我对两者使用相同的函数 <select data-bind="options: times, optionsText: function(item) { return item.toLocaleTimeString(); }, optionsValue: function(item) { return item.toLocaleTimeString(); }, value:

我有一个不起作用的代码。 这是这里

数据绑定参数optionsValue的工作方式与参数optionsText不同

我对两者使用相同的函数

<select data-bind="options: times, optionsText: function(item) { return item.toLocaleTimeString(); }, optionsValue: function(item) { return item.toLocaleTimeString(); }, value: selectedTime"></select>


关于,JP。

选项值
传入的对象必须是与用作值的属性名称相对应的字符串。您不能将其设置为那样的值,遗憾的是,它与
选项text
的工作方式不同

时间
数组映射到所需的值会更容易

<select data-bind="options: ko.utils.arrayMap(times(), function (time) { return time.toLocaleTimeString(); }), value: selectedTime"></select>

可能存在的副本
var ViewModel = function() {
    // ...
    self.mappedTimes = ko.computed(function () {
        return ko.utils.arrayMap(self.times(), function (time) {
            return time.toLocaleTimeString();
        });
    })
};
<select data-bind="options: mappedTimes, value: selectedTime"></select>