我有一个复选框列表,当用户选中其中一个复选框时,会在 .js 文件中调用一个函数,然后调用一个方法 dataservice.js 来调用 webapi 控制器,这一切都工作正常并返回正确的数据。
当该过程完成时,会发生的情况是触发序列的复选框未被选中。我检查了结果,该项目的 schoolDistrict.IsChecked 设置为 true,这是正确的。
如何让复选框被选中?
下面是代码,但我不确定 check.one-way 绑定
<li repeat.for="schoolDistrict of schools.Districts">
<input type="checkbox" checked.one-way="schoolDistrict.IsChecked" value="${schoolDistrict.Value}" click.trigger="searchSchoolDistrict()"/>${schoolDistrict.Name}
</li>
任何帮助将非常感激。
这里有几个问题:
- 问题可能是你的
searchSchoolDistrict()
代码正在改变IsChecked
财产,但one-way
绑定不监听更改。
- 虽然插值可以工作,但使用绑定语法可能是更好的风格。
- 设置一个
change.delegate
更加健壮,并且会监听复选框上的所有更改,这是复选框的最佳实践。
-
已弃用确保选择正确的范围
searchSchoolDistrict()
,因为它可能生活在$parent
并不是schoolDistrict
.
尝试使用这个代替:
<li repeat.for="schoolDistrict of schools.Districts">
<input type="checkbox"
checked.bind="schoolDistrict.IsChecked"
value.one-way="schoolDistrict.Value"
change.delegate="searchSchoolDistrict()"/>
${schoolDistrict.Name}
</li>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)