3

我有一个看起来像这样的 Knockout.js 视图模型:

"UserName":null,
"FirstName":null,
"LastName":null,
"Countries":{
    "arrCountries":[]
}

以及一组必须使用相同data-bind值呈现的国家/地区复选框(我正在使用自定义 CheckBoxListFor 助手,它可以将自定义 HTML 应用于每个复选框,但每个复选框的自定义 HTML 相同。它需要一个列出的属性我的 razor 视图模型中的每个可用国家都创建复选框,然后根据另一个 razor 视图模型属性将一些渲染为标记)。

复选框值是整数(1、2、3 等),我想将这些整数放入arrCountries视图模型的属性中。

以下是当前复选框的呈现方式:

<input checked="checked" data_bind="checked: ???" id="Countries.arrCountries107" name="Countries.arrCountries" type="checkbox" value="1"></input>

我已经证明了使用viewModel.Countries.arrCountries.push(1);来更新视图模型的概念(随后是一个警报,它给我 arrCountries 中的元素计数以证明push有效),但我似乎无法获得data-bind复选框上的 HTML 属性连线,以便他们在我发送pushremove命令时检查和取消检查。

非常感谢任何帮助!

4

1 回答 1

8

使选中的数据属性指向所选国家。如果复选框的值在复选框数组中,则将对其进行检查。否则不会。

<input checked="checked" data-bind="checked: Countries" type="checkbox" value="3"></input>

看看我放的这个小提琴。

http://jsfiddle.net/u8xP9/3/

于 2012-05-12T03:56:25.903 回答