0

これがいくつか省略されたフィドルです:http://jsfiddle.net/YwTBk/

基本的に、下の画像を取得するために必要なのは、最初の行を編集することです。何らかの理由で、Knockoutはその列の下のすべての行を同じ値で埋めています。これは、、、およびもちろん計算列に対して発生amountnrAmountますtotal。他のどの列にもこの問題はありません。

バインディングをからamountに変更する$data.amountと、計算列が機能しなくなるという効果がありnrAmountますが、すべての行にデータが入力されるわけではないことに注意してください。

同じ値で埋められる列

なぜこれが起こっているのですか、どうすれば修正できますか?

4

1 に答える 1

0

これが「機能する」更新されたフィドルです、私は推測します-http://jsfiddle.net/YwTBk/2/。問題の説明が参照したフィドルと一致しないため、確実に言うのは難しいです。

私が修正したより大きな問題は次のとおりです。

  1. ニコが言ったように、あなたvar self = this;はあなたのビューモデルの一番上に必要です。
  2. addBlankRecordメソッドの参照が機能するように、ビューモデル内でaddBlankRecordを移動しましselfた。
  3. 私はpopulateBlankRecordsメソッドを更新して、ViewModelのaddBlankRecordを参照するようにしました
  4. バインディングについては、categoriesとremoveRecordのバインディングを$parent.categoriesと$parent.removeRecordに更新しました。これは、どちらもレコードビューモデルに見つからないためです。

また、コードから削除された結果であると私が推測している小さな問題もいくつかありました。これらのいくつかは他のコメントによって参照されました。

  • removeRecord、GetDepartments、およびGetCategoriesメソッドは存在しませんでした
  • テーブルのHTMLタグはありませんでした
  • jQueryまたはKnockoutJSへの参照はありませんでした

これで問題は解決しますか?そうでない場合は、問題を示すフィドルを提供できれば非常に役立ちます。

于 2012-12-20T19:44:27.727 に答える