我在KnockoutJs中有一个递归dom:
<ul data-bind="template: { name: 'tree-hierarchy', foreach: someArray }"></ul>
<script id="some-tree" type="text/html">
<li>
<input type="checkbox" data-bind="attr: { id: id, name: name, value: value}, click: someFunc">
</li>
</scrpt>
我想获取选中元素的属性,所以我使用点击功能来获取功能中的数据:
someFunc(data: any, event: any) {
//event.target gets me the attributes
}
我在event.target中获得了我想要的数据,但是立即检查变为未检查。 如果没有单击功能(像这样),则选中复选框:
<input type="checkbox" data-bind="attr: { id: id, name: name, value: value}>
仍然保留检查,但是当存在调用该函数的“单击”功能时,它将立即取消选中。 我希望它继续存在。我不想使用敲除功能'checked:boolValue',因为它是动态创建的,并且如果数组中有10个值,那么将有10个checbox输入,因此只有一个bool值是没有意义的。
在函数调用完成后,我希望复选框保持选中状态。