0

編集:問題は自分の self.providers = ko.computed() にあると思います。フィルター ボタンのクリックでプロバイダー配列を上書きしています。

すべてをローカルで開発しているため、両方ともHTMLペインにすべてがあり、ファイル全体を分割するのではなく、jsfiddleにコピー/貼り付けする方が簡単です。

また、かなり大きなダミー データ オブジェクトをスタブ化しました。 これは 110 行目から始まるため、ローカルでコピー/貼り付け/実行する場合、そのデータ オブジェクトを最小化できるエディターが必要になることは間違いありません

最初のフィドルはhttp://jsfiddle.net/82cK7/にあり、正常に動作しているように見えますが、「ライブ」フィルタリングです。プロバイダー名のフィルタリングから始めて、日付フィルタリング用の jquery UI datepicker も追加しました。これにより、緑色のフィルター領域で何かを変更すると、データ テーブルがフィルター処理されます。

ここでの適切なコードは、196 行目のself.filterClaimsです。

2 番目のフィドルはhttp://jsfiddle.net/tq8zc/にあり、正しく動作しません。ここでのフィルタリングは、「フィルター」ボタンをクリックするまで開始されません (これは私が本当に望んでいる動作です)。テーブルをフィルタリングしますが、その選択/ドロップダウンのプロバイダー名の一意のリストを生成するself.providersも吹き飛ばします。したがって、これをフィルター処理する前に、複数のプロバイダー名のリストがあります。フィルタリングすると、「フィルター」を押す前に選択したプロバイダーのみが表示されます。

ここに関連するコードは、166 行目のself.claimsFilteredです。

かなり明らかな何かが欠けているように感じ、コードを他の人に見てもらうことができるかどうか疑問に思っていました。

助けてくれてありがとう!

4

1 に答える 1

1

これを行う簡単な方法の 1 つを次に示します。currentFilter最新のフィルター プロパティを含むオブザーバブルを追加したところ、フィルター ボタンはこれを新しいフィルター値で更新するだけです。お役に立てれば。更新されたフィドル: http://jsfiddle.net/antishok/tq8zc/2/

于 2012-09-22T15:53:06.143 に答える