javascript - knockoutjs 设置选择默认选择值

标签 javascript knockout.js

我正在使用 knockout.js 并尝试设置我的选择绑定(bind)的默认值(不使用 optionCaption),并在有人更改它时捕获该值。

<div class="customization-container" data-bind="foreach: customization">
    <div class="clear-both option">
        <label data-bind="text: Name"></label>
        <select data-bind="options: AvailableValues, value: Value></select>
    </div>
</div>

我在AvailableValues中有一个像[1,2,3,4]或[“Row”,“Run”,“Paddle”,“Ski”]这样的数组,我希望能够选择其中之一这些值是默认值。

我在 Knockout.js 文档或网上还找不到任何内容。我不想设置标题,我希望默认值是数组中的文字值。

谢谢!

最佳答案

您正在按照您应该的方式进行操作(除了缺少用于关闭 data-bind 属性的双引号)。请参阅此示例:

var vm = {
  AvailableValues: [1,2,3],
  Value: ko.observable(2)
};

ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<select data-bind="options: AvailableValues, value: Value"></select>

这对于字符串列表同样有效:

var vm = {
  AvailableValues: ["Row", "Run", "Paddle", "Ski"],
  Value: ko.observable("Paddle")
};

ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<select data-bind="options: AvailableValues, value: Value"></select>

关于javascript - knockoutjs 设置选择默认选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29022494/

相关文章:

javascript - 行编辑插件: disable editing and actioncolumn delete icon

javascript - 如何将数据从一个页面传递到另一个html

javascript - 将列(对象的对象)转换为行(对象的数组)

javascript - 对象属性的深度过滤

javascript - 变量范围或选择器问题

knockout.js - 剑道击倒 : Binding "selected" viewmodel property with grid

javascript - 协助将 json 重新绑定(bind)到 knockout 模型

javascript - 自定义绑定(bind)未按预期工作

javascript - 如何在 knockout 绑定(bind)中运行 afterRender 中的函数?

javascript - knockout 可写计算可观察量