gpt4 book ai didi

knockout.js - knockout 将键值对象绑定(bind)到下拉列表

转载 作者:行者123 更新时间:2023-12-04 04:46:41 24 4
gpt4 key购买 nike

我有以下型号:

var allCategories = [{
id: 1,
name: 'Red'},
{
id: 5,
name: 'Blue'}];

function model() {
self = this;
self.name = ko.observable("");
self.categoryId = ko.observable(-1);
self.categoryName = ko.computed(function() {
if (self.categoryId() == -1) return "";
return getCategoryNameById(self.categoryId()).name;
});
}

function getCategoryNameById(id) {
return _.find(allCategories, function(cat) {
return cat.id == id;
});
}

我想提供一个下拉列表来选择类别,但我不知道如何绑定(bind)它。
也许我对我的模型使用了错误的方法,但这很可能是我从服务器获取数据的方式,所以我试图将我的 JS 包装在它周围。

我试过这样的事情:
<select data-bind="options: categories, optionsText: 'name', value: 'id', optionsCaption: 'Categorie...'"></select>

但我不知道如何将下拉值连接到模型 categoryId .

这里是 a fiddle具有 name 属性的有效绑定(bind)。

最佳答案

对于您的列表框,您需要指定:options , optionsText , optionsValue , 和 value .value (这是当前选择的值)应该指向你的 model.categoryId() .和optionsValue是获取列表值的属性名称:

<select data-bind="options: categories, optionsText: 'name', optionsValue: 'id', value: $root.model.categoryId(), optionsCaption: 'Categorie...'"></select>

就是这样。和工作 fiddle : http://jsfiddle.net/Y7Nrc/

关于knockout.js - knockout 将键值对象绑定(bind)到下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com