0

私たちは特定の問題に直面しています。次のように、各行が選択可能でノックアウトにバインドされているテーブルがあります。

thead
  tr
    th: input(type="checkbox", data-bind="checked: $root.onSelectAll")
    ..
    ..
tbody(data-bind="foreach: items")
  tr
    td
      input(type="checkbox", data-bind="attr: { value: $data.id }, checked: $root.selectedItems")
    ..
    ..

アイテムを選択すると、その id 属性が selectedItems リストに追加されるため、これはうまく機能します。

ページネーションがあるため、各ページにすべて選択オプションを実装する必要があります。http://jsfiddle.net/rniemeyer/kXYuU/を見ていましたが、機能させることができませんでした。それが問題です。私は自分で解決策を書くことができましたが、必要以上に複雑になりました。Knockout を使用すると、より簡単でクリーンになります。

4

1 に答える 1

0

まず、私が間違っている可能性がありますが、バインディング$rootのコンテキスト外で使用できるとは思いません。foreachできるかどうかにかかわらず、th( $root.onSelectAll--> onSelectAll) のバインディングには必要ありません。

次に、$root.selectedItemsobservableArray のように感じます。observableArray を にバインドすることはできません。observablecheckedでなければなりません。

于 2013-04-19T14:25:56.710 に答える