javascript - 将 true/false 绑定(bind)到 Knockout JS 中的单选按钮

标签 javascript knockout.js knockout-mapping-plugin knockout-2.0

在我的 View 模型中,我有一个值为 true 或 false 的 IsMale 值。

在我的 UI 中,我希望将其绑定(bind)到以下单选按钮:

<label>Male
   <input type="radio" name="IsMale" value="true" data-bind="checked:IsMale"/>
</label> 
<label>Female
   <input type="radio" name="IsMale" value="false" data-bind="checked:IsMale"/>
</label>

我认为checked 的问题需要字符串“true”/“false”。所以我的问题是,如何使用此 UI 和模型获得此双向绑定(bind)?

最佳答案

我知道这是一个旧线程,但我遇到了同样的问题并找到了一个更好的解决方案,该解决方案可能是在正式回答这个问题后添加到 knockout 中的,所以我将把它留给有相同问题的人问题。

目前不需要扩展器、自定义绑定(bind)处理程序或计算。 只需提供一个“checkedValue”选项,它将使用该选项而不是 html 的“value”属性,并且您可以通过它传递任何 javascript 值。

<input type="radio" name="a" data-bind="checked:IsChecked, checkedValue: true"/>
<input type="radio" name="a" data-bind="checked:IsChecked, checkedValue: false"/>

或者:

<input type="radio" name="b" data-bind="checked:Quantity, checkedValue: 1"/>
<input type="radio" name="b" data-bind="checked:Quantity, checkedValue: 2"/>
<input type="radio" name="b" data-bind="checked:Quantity, checkedValue: 3"/>

关于javascript - 将 true/false 绑定(bind)到 Knockout JS 中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127001/

相关文章:

knockout.js - requirejs w/knockoutjs w/select2 无法在第一次加载时更新 observable

javascript - 将某些 observableArray 对象属性转换为 observable

asp.net-mvc - MVC3、Knockout.js 和嵌套的 json 对象

javascript - 输入数据列表在超标中不起作用

JavaScript 和 Ajax 在 laravel 5.2 中不工作

knockout.js - 具有计算字段的 knockout 映射

javascript - KnockoutJS,映射插件,模型更改时收到通知吗?

javascript - 在 JavaScript 中编码 URL?

javascript - 如何在 Javascript 中的小数点后附加一个额外的 'Zero'

javascript - 更新多个订阅项,但在 knockout 中只执行一次更新?