我一般是编程新手,但尤其是淘汰赛。我有一个使用 foreach 绑定填充的表。在这个表中,我有一列我想成为一个复选框,它的选中值是从通过 ajax 检索的 mysql 数据库值填充的。我知道选中的绑定应该能够采用 0 或 1 并松散地转换为选中和未选中。
http://knockoutjs.com/documentation/checked-binding.html
对于复选框,KO会设置参数值为true时选中元素,为false时不选中。如果您给出一个实际上不是布尔值的值,它将被松散地解释。这意味着非零数字和非空对象和非空字符串都将被解释为真,而零、空、未定义和空字符串将被解释为假。
所以假设这是我的 ko.observableArray 命名部分:
{"id":"1","partdes":"asdf","partcost":"1.00","sellcost":"2.00","tax":"1"}
我的表中有这个代码片段:
<tbody data-bind="foreach: parts">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: partdes"></td>
<td data-bind="text: partcost"></td>
<td data-bind="text: sellcost"></td>
<td><input type="checkbox" data-bind="checked: tax" /></td>
//And I added this line to get the actual value:
<td data-bind="text: tax"></td>
</tr>
</tbody>
一切正常,除了复选框总是被选中,即使值为 0。为什么这不起作用?