2012-04-30 6 views
0

私は5つの選択リストを1つのページに表示しています。私はそれらのそれぞれにオプションをバインドしています。それらはすべて同じデータセット、たとえば状態モデルにバインドされています。KnockoutJSオプションバインディング

誰かが選択の1つで状態を変更したら、私はそれに対して行動を起こしたいと思います。

アイデア?

ありがとうございます!

+0

あなたの問題に対する答えを解明したことはありますか? –

答えて

1

一般的にあなたは値が変更されたときに物事を扱う行うためにko.computedを使用します。 http://knockoutjs.com/documentation/computedObservables.html

しかし、あなたはときに、特定の観察可能な変化を見たい場合は、あなたがsubscribeを使用します。 http://knockoutjs.com/documentation/observables.html

あなたはフォークして更新することができますあなたが問題に遭遇した場合、私にコード例を送ってください: http://jsfiddle.net/JasonMore/p6Vcc/

0

私はあなたの質問を正しく理解していれば、 ko.observable現在選択されている値を追跡する選択リストごとの変数。 あなたは毎回これらの屈折率変化のいずれかを行動を取りたい場合は、あなたが購読機能を使用することができます。

var viewModel = { 
    firstSelectListIndex : ko.observable(), // bound to the first select list value 
    secondSelectListIndex : ko.observable(), 
    ... 
}; 

その後、ユーザーが最初の選択リストの状態を変更したときに行動をとることに興味がある場合は、

viewModel.firstSelectListIndex.subscribe(function(newValue) { 
    // your code 
}); 

リストの新しい選択項目に関連付けられた新しい値がパラメータとして渡されました。