つまり、1ページに5つの選択リストがあります。状態モデルなど、すべて同じデータセットにバインドされているオプションがそれぞれにバインドされています。
誰かが選択の1つで状態を変更したら、それに対してアクションを実行したいと思います。
何か案は?
ありがとう!
つまり、1ページに5つの選択リストがあります。状態モデルなど、すべて同じデータセットにバインドされているオプションがそれぞれにバインドされています。
誰かが選択の1つで状態を変更したら、それに対してアクションを実行したいと思います。
何か案は?
ありがとう!
通常ko.computed
、値が変更されたときに処理を行うために a を使用します:
http://knockoutjs.com/documentation/computedObservables.html
ただし、特定の観測可能な変更を監視する場合は、次を使用しますsubscribe
:
http://knockoutjs.com/documentation/observables.html
問題が発生した場合は、この jsfiddle をフォークして更新し、コード例を送信してください: http://jsfiddle.net/JasonMore/p6Vcc/
あなたの質問を正しく理解していれば、現在選択されている値を追跡する選択リストごとに 1 つの ko.observable 変数があると思います。これらのインデックスのいずれかが変更されるたびにアクションを実行したい場合は、subscribe 関数を使用できます。
var viewModel = {
firstSelectListIndex : ko.observable(), // bound to the first select list value
secondSelectListIndex : ko.observable(),
...
};
次に、ユーザーが最初の選択リストの状態を変更したときにアクションを実行することに関心がある場合は、次のことができます。
viewModel.firstSelectListIndex.subscribe(function(newValue) {
// your code
});
そして、リスト内の新しく選択された項目に関連付けられた新しい値がパラメーターとして渡されます。