我在我的代码中使用了knockout,并且有一个foreach循环,其中有几个单选按钮,我通过$ index属性访问第一个按钮。我希望在加载时默认选中第一个单选按钮。但也有"检查"数据绑定与属性。
以下是代码段:
<input type="radio" checked='checked' name="foo" data-bind="value: $data.methodId, checked: $parent.checkout.valueImp">
默认情况下,单选按钮不会被选中。有没有办法我可以默认将这个单选按钮设置为“检查”。在加载时,数据绑定同时也有效。
答案 0 :(得分:0)
默认情况下不会检查单选按钮
那是因为您已将其已检查状态绑定到viewmodel属性。要默认选中它,默认情况下,请为此$parent.checkout.valueImp
提供此单选按钮的值。
示例:
var vm = {
value1: ko.observable("one"),
value2: ko.observable("two"),
currentValue: ko.observable("two") // <===
};
ko.applyBindings(vm, document.getElementById("container"));
Note that Two is checked by default:
<div id="container">
<label>
<input type="radio" name="x" data-bind="value: value1, checked: currentValue"> One
</label>
<br>
<label>
<input type="radio" name="x" data-bind="value: value2, checked: currentValue"> Two
</label>
<div>Curent value: <span data-bind="text: currentValue"></span></div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>