0

KnockoutでEricHyndsの優れた複数選択ウィジェットを使用する際に問題が発生します。

私のコードはここにあります。

この記事のカスタムバインディングを使用しています。

最初のボックスのオプションを変更すると、プラグインを使用する代わりに、複数選択がデフォルトのタイプに戻ります-バインディングを変更する必要があると思いますが、Knockoutはかなり新しく、すぐに抜け出しますここの深さ。

誰かがポインタを提案できますか?カスタムバインディングの書き方に関する記事は、もちろんこれ以外の参照があれば役立つかもしれません。

OK:もう少し近づいています:こちらをご覧ください

現在、唯一の問題は、最初のボックスの選択を変更するたびに、2番目のボックスからまだ関連しているアイテムが失われることです。たとえば、次のような場合、奇妙な動作もあります。

  1. 「すべてのリンクヘルス」を選択します
  2. 複数選択をクリックして、最初の項目を確認します
  3. 「すべての時計」を選択します
  4. もう一度[すべてのリンクヘルス]を選択します

すると突然、5つの項目すべてがチェックされます!

4

2 に答える 2

2

私の場合、ノックアウト 2.1.0 はデフォルトで「値」属性をタグに入力していないことがわかりました。そのため、すべての値が空に等しいため、1 つの項目をチェックすると、基になるコントロールのすべてのオプションが選択されます。バインディングで「optionsValue」を定義する必要があります。

于 2012-08-01T08:35:12.393 に答える
0

私は最終的にこれを行うことができましたが、最善のアプローチがあるとは確信していません。

ReportTemplate が最初のボックスで選択された項目である複数の選択で、「with: ReportTemplate」を使用してまったく管理できませんでした。

このアプローチに少し近づきましたが、最初のコンボで「すべてのリンクの正常性」を選択し、次に下部の複数選択コントロールで「詳細」の横のボックスをオンにしてから、 "すべての時計" - 下部の複数選択では使用可能な列が 5 つ表示されますが、上部の複数選択では使用可能な 3 つの列が正しく表示されます。

最後に、サブスクライブ機能を使用して選択リストで使用可能なオプションを更新するというアプローチを採用しました: Fiddle here。これは少し不器用に感じますが、必要に応じて機能することがわかった唯一の方法です。

他のアプローチがうまくいかない理由を誰かが説明できれば、私は興味があります。

于 2012-07-08T18:19:38.333 に答える