Knockout.js 带有标题和id的选项

Knockout.js 带有标题和id的选项,knockout.js,Knockout.js,我正在将标题和Id的筛选值推送到我的getItem数组: self.selectItem = ko.computed(function() { return ko.utils.arrayFilter(self.loanItems(), function(item) { if (item.Location() == self.userLocation() && item.LoanItem() == self.selectedL

我正在将标题和Id的筛选值推送到我的getItem数组:

        self.selectItem = ko.computed(function() {
        return ko.utils.arrayFilter(self.loanItems(), function(item) {
            if (item.Location() == self.userLocation() && item.LoanItem() == self.selectedLoanType() && item.Status() == "Available") {
                self.getItem.push(item.Title(), item.Id());
                }
            });
        });
然后在我的视图中,我想填充我的选择输入,对于选择,我想显示标题和Id作为一个值:

<select data-bind="options: getItem,
                   optionsText: 'Title',
                   optionsValue: 'Id', 
                   optionsCaption: 'Select an item...', 
                   value: selectedLoanTitle">
</select>

上面的操作不起作用,请参见下面的屏幕


选项
数据绑定中,输入一个(可观察的)项目数组。
options文本
options值
数据绑定指的是每个项目中的属性名称

构建数据绑定的方式要求
getItem
数组中的项同时具有
Id
Title
属性

在您的
selectItem
方法中,您使用两个参数调用
push
,我猜这就是出错的地方。您正在将两个(假定)字符串推送到数组中

尝试按以下任一按钮:

  • 整个项目(
    self.getItem.push(项目)
    ),或
  • 具有所需属性的对象(
    self.getItem.push({Title:item.Title,Id:item.Id})

  • 还请注意,
    selectedLoanTitle
    最终将具有一个
    Id
    属性值,而不是
    选项中的
    标题

    数据绑定您输入的(可观察的)项数组。
    options文本
    options值
    数据绑定指的是每个项目中的属性名称

    构建数据绑定的方式要求
    getItem
    数组中的项同时具有
    Id
    Title
    属性

    在您的
    selectItem
    方法中,您使用两个参数调用
    push
    ,我猜这就是出错的地方。您正在将两个(假定)字符串推送到数组中

    尝试按以下任一按钮:

  • 整个项目(
    self.getItem.push(项目)
    ),或
  • 具有所需属性的对象(
    self.getItem.push({Title:item.Title,Id:item.Id})

  • 还请注意,
    selectedLoanTitle
    最终将具有一个
    Id
    属性值,而不是
    Title

    请显示您的视图模型。需要查看如何设置getItem请显示视图模型。需要看看你是如何设置getItem的非常感谢,选项2正是我所需要的。非常感谢,选项2正是我所需要的。