チェックボックスリストがあります。ユーザーがチェックボックスの1つをチェックすると、.jsファイルで関数が呼び出され、次にwebapiコントローラーを呼び出すメソッドdataservice.jsが呼び出されます。これはすべて正常に機能し、正しいデータを返します。
プロセスが終了すると、シーケンスを起動したチェックボックスがオンになりません。結果を調べたところ、その項目の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()
には適切なスコープを選択してください。これは、おそらくschoolDistrict
ではなく_$parent
_に存在するためです。代わりにこれを使用してみてください:
_<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>
_