私はチェックボックスのセリフを持っていて、選択したものを集めたいと思います。チェックボックスは、DIVの中で、div要素がクリックされたときにチェックボックスが同様にチェックを受ける必要があります。Jqueryで値を変更するとKnockoutJSプロパティが更新されない
var oCheckBox = $($(this).find('.chkSocialMediaItem').get(0));
oCheckBox.attr('checked', !$(oCheckBox).attr('checked'));
選択に私のカウンターを更新しませんので、これはうまく動作しますが、KnockoutJSは、変更をピックアップしていないとアイテム。
変更イベントをトリガーする必要がある箇所があります。しかし、チェックボックスの変更イベントを聞くと、実際にトリガされます。
何か助けていただければ幸いです。 ありがとうございます!
アップデート:私は 'ノックアウト' 解決策を発見した
。私のdivで は、私が「クリック」オフデータバインドを行なったし、その関数でチェック値を変更:
<script type="text/html" id="Template">
<div class="item" data-bind="click: DivClicked">
<input type="checkbox" data-bind="checked: IsASelectedItem" class="chkSocialMediaItem"/>
</div>
</script>
function SocialMediaSearchItem() {
this.IsASelectedItem = ko.observable();
this.DivClicked = function() {
this.IsASelectedItem(!this.IsASelectedItem());
};
}
これが唯一の解決策ですか?私は実際には2もJqueryソリューションを参照してください。
クイックレスポンスありがとう!私はベータ月曜日に私が@仕事に戻ったときにチェックします:) –
ああ、それは便利です、どのように 'プロパティ'コントロールがviewModelだけでなくバインドされているか調べる方法はありますか? –
自分自身で 'data-bind'属性を解析してから、データ(' data ['somePropertyName'] ')でプロパティ名を使用する以外に、現在行うべき方法はありません –