現在の要素の上にある要素から指定されたフィールドを現在の要素の一致するフィールドにコピーするjquery関数を作成しようとしています。具体的には、いくつかのフィールドがあるテーブルを吐き出しているasp.netリピーターがあり、「上記と同じ」機能が必要です。私はまだjqueryの新しいですし、私はそれにいくつかの問題を抱えています。ここで私が現在しようとしていることのいくつかの擬似コードは、あなたがそれを知っているか、単にこれを動作させるように修正すれば、より良い方法を提案することができます。Jqueryを使って複数のフィールドの値をコピーする
function CopyPrevious(sender, rowId) {
var current = $(sender).closest('#wrappingDiv').find('.containingTable').eq(rowId);
var previous = $(sender).closest('#wrappingDiv').find('.containingTable').eq(rowId - 1);
$(current).find('.fieldA').val($(previous).find('.fieldA').val());
}
wrappingDivは、私はので、私は「最も近い」と、各テーブルには「containingTableを」クラスを持っているとそれを見つけることができるテーブルの周りに置くだけdiv要素です。 "fieldA"、 "fieldB"などをフィールドにクラス名として入れて、値を得るためにそれらを見つけることができました。
私がいる問題は、上記の4行目にjavascriptのエラーです:$電流は
EDITを定義されていません。コメントあたりのライン4を更新しました。それは今働く。ありがとうございました。
それは 'でなければなりません(現在の).find( 'FIELDA ')$はヴァル($(前回).find(' FIELDA')のval());' –
はたぶん上のデバッグを実行しますコードを追加して、rowIdとcurrentの値を監視します。 rowIdの値が、式によって返される要素の数を超える値に設定されているかどうかを確認してください。あなたはval()を代入することができないので上記の人は正しいです。=あなたは割り当てられる値を渡す必要があります。 –