gpt4 book ai didi

knockout.js - 在我的下拉菜单中预选一个项目

转载 作者:行者123 更新时间:2023-12-01 10:01:26 24 4
gpt4 key购买 nike

我有以下下拉列表:

<div>  
Dummy
<select data-bind="options: categories, optionsText: 'description', value: 2"></select>
</div>

使用下面的 javascript:

function ViewModel()
{

this.categories = ko.observableArray([
new Category(1, "Non classé"),
new Category(2, "Non nucléaire"),
new Category(3, "Classe II irradié"),
new Category(4, "Classe III")
]);

// Constructor for an object with two properties
function Category(id, description) {
this.id = id;
this.description = description;
};
}

ko.applyBindings(new ViewModel());

我想在下拉列表中预先选择 id 为 2 的元素。

有什么想法吗?

谢谢。

jsFiddle:http://jsfiddle.net/RfWVP/276/

最佳答案

我可以想到两种方法来做到这一点。无论哪种方式,您都必须添加一个 selectedCategory 可观察属性来存储跟踪当前选择的选项。

  1. 使用 optionsValue 绑定(bind)并指定 'id' 作为您想要用作每个的 value 的属性选项:

    <select data-bind="options: categories, 
    optionsText: 'description',
    value: selectedCategory,
    optionsValue: 'id'">
    </select>

    然后将selectedCategory设置为“2”:

    this.selectedCategory = ko.observable(2);

    示例: http://jsfiddle.net/RfWVP/281/

  2. 在创建类别的可观察数组之前创建 ID 为“2”的类别,并将 selectedCategory 设置为等于该类别:

    var selected = new Category(2, "Non nucléaire");

    this.categories = ko.observableArray([
    new Category(1, "Non classé"),
    selected,
    new Category(3, "Classe II irradié"),
    new Category(4, "Classe III")
    ]);

    this.selectedCategory = ko.observable(selected);

    示例: http://jsfiddle.net/RfWVP/280/

您使用哪一个取决于您需要有关所选类别的哪些信息。

关于knockout.js - 在我的下拉菜单中预选一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15588732/

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