関連するフィドルへのリンクは次のとおりです。http://jsfiddle.net/mwassmer/Kwmn5/
ユーザーが 1 つ以上の行を最初のテーブル (利用可能なデータベース フィールド) から 2 番目のテーブル (ユーザーのカスタム "データセット" に保存されるフィールド) に、またはその逆に移動できるようにしようとしています。
最後の行のみがチェックされていない限り、「addSelected」イベント ハンドラーが実行されると、「未定義のプロパティ 'isChecked' を読み取ることができません」というエラーが表示されます。私はまだノックアウトのコンテキストで「これ」を適切に使用する方法について頭を悩ませているので、問題は「これ」の誤用に関係していると思います。どんな助けでも大歓迎です。
関連するコードの抜粋は次のとおりです。
self.addSelected = function() {
ko.utils.arrayForEach(self.dbRows(), function(row)
{
if (row.isChecked) {
row.isChecked = false;
self.dsRows.push(row);
self.dbRows.remove(row);
}
});
};