チェックボックスのクリックイベントをトリガしようとすると、チェックボックスのデータバインディング値が変更されません。ノックアウトのチェックボックスバインディングがトリガーイベントで機能しない
私はjsfiddleを作成しました。ボタンをクリックすると、値のバインドが変更されると予想されますが、そうではありません。
任意のヘルプ?
チェックボックスのクリックイベントをトリガしようとすると、チェックボックスのデータバインディング値が変更されません。ノックアウトのチェックボックスバインディングがトリガーイベントで機能しない
私はjsfiddleを作成しました。ボタンをクリックすると、値のバインドが変更されると予想されますが、そうではありません。
任意のヘルプ?
jQueryでトリガ(「クリック」)するだけで、「クリック」イベントハンドラがトリガされます。チェックボックスで実際にクリック(チェックされた状態の変更)が起きることはありません。イベントと同じ名前の関数プロパティがある場合(例:form.submit()
- しかし、checkbox.click()
はありません)。
しかし、あなたはノックアウトを使用していることから、あなたにも行う可能性があります:
var viewModel = {
IsSelected: ko.observable(false) // Initially false
};
ko.applyBindings(viewModel);
$('#buttonInput').click(function(){
viewModel.IsSelected(true); // <-------
// Or, in order to toggle:
// viewModel.IsSelected(!viewModel.IsSelected());
});
、かなり最初の場所でのノックアウトを使用してのポイントです。ビューではなくビューモデルで変更を行います。チェックボックスのchecked
プロパティは、データがIsSelected
にバインドされているため、IsSelected
を変更すると、チェックボックスのchecked
プロパティが変更されます。