这是我的代码:
<div data-bind="foreach: categories">
<input name="category" type="radio" data-bind="attr: { 'value': id, 'id': 'category_'+id }, checked: $root.category.categoryId></input>
<label data-bind="text: name, attr: { for: 'category_'+id }"></label>
...more inputs...
</div>
我我将新值更改为字符串(CoffeeScript代码):
@viewModel.category.categoryId.subscribe (newId) =>
@viewModel.category.categoryId(newId.toString())
问题是。当我单击标签一次时,$root.category.categoryId
值确实会发生变化。订户解雇等。但是输入元素仍然没有&#34;检查&#34;属性。只有当我第二次或第三次点击标签时,它才最终有效,输入元素获得属性。
此外,当我在输入上使用jQuery click()
时,它可以正常工作,更改值并更改已检查的属性。
知道可能导致此行为的原因是什么?