检查='检查'没有使用敲门检查数据绑定单选按钮

时间:2017-09-05 08:08:59

标签: javascript jquery knockout.js

我在我的代码中使用了knockout,并且有一个foreach循环,其中有几个单选按钮,我通过$ index属性访问第一个按钮。我希望在加载时默认选中第一个单选按钮。但也有"检查"数据绑定与属性。

以下是代码段:

<input type="radio" checked='checked' name="foo" data-bind="value: $data.methodId, checked: $parent.checkout.valueImp">

默认情况下,单选按钮不会被选中。有没有办法我可以默认将这个单选按钮设置为“检查”。在加载时,数据绑定同时也有效。

1 个答案:

答案 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>