knockoutjs设置选择默认选择的值

时间:2015-03-12 23:52:59

标签: javascript knockout.js

我正在使用knockout.js并尝试设置我的选择绑定的默认值(不使用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文档或在线上找不到任何内容。我不想设置标题,我希望默认值是数组的文字值。

谢谢!

1 个答案:

答案 0 :(得分:1)

你正在以你应该的方式做到这一点(除了缺少双引号以关闭你的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>