1

ここのサイトとコードを参照してください: http://jonathonmoore.com/sandbox/single.html

私は基本的に、隔週、月次、および年次の財務状況をユーザーに提供するサイトを作成しています。4 つの列を持つ大きなテーブルがあります。

ここに画像の説明を入力

現在、各セルに一意の ID (#bwSalary、#monSalary、#annSalary など) を与え、計算を行い、テキストを置き換えることで、表の値を力ずくで処理しています。

これは厄介です。ユーザーがテーブルに行を追加および削除し、さまざまな費用を入力できるページの別の部分があります。それぞれに一意の ID を生成することはできません。もっと良い方法があるはずです。

私の質問は、jQuery を使用して各列に数式を割り当てる方法があるかどうかです。Excel でできることと同様です。私が想定しているのは、各行の年間貢献度を計算することです (おそらく一意の ID を使用します)。次に、jQuery は各行を調べ、年次列セルの値を取得してそれを割るだけで、隔週および月次の行に値を入力します。 12 または 26 までに。

それを行う方法があることは知っていますが、必要な適切なセルを見つける方法を知るのに十分なほどjQueryを知りません。

4

1 に答える 1

1

2 番目のテーブルを実装する簡単な方法の 1 つは、生の JQuery を使用し、プログラムで同じ行の他の入力ボックスを見つけるだけで、ハードコーディングされた ID を回避します。説明するCoffeescriptを次に示します。

# whenever the user finishes entering a value and clicks away
$('table input').on 'blur', ->
  # find all three input boxes in this row
  [biweekly, monthly, annual] = $(this).parents('tr').find('input')
  # update the first two in terms of the third
  $(biweekly).val($(annual).val() / 52 * 2)
  $(monthly).val($(annual).val() / 12)

アプリケーションがより複雑になる場合 (または単に興味がある場合) は、tangleangularemberなどのリアクティブ プログラミングシステムを検討することをお勧めします。Excel と同様に、値を宣言できます。何かが別のものの何らかの式 (つまり式) になるようにします。システムは、1 つのものが変更されるたびに、すべての依存バインディングも更新されるようにします。

于 2012-08-26T06:29:13.810 に答える