私は、.NET GridViewのRowを基本的に表すJavascriptオブジェクトを持っています。 グリッド内の任意の行をクリックすると、その行のすべての入力要素が「有効」になります(つまり、「編集」モード)。JQueryを使用して「ダーティ」要素を元の値に戻す
私はこれまでのところは良い
$(":input", this._row).attr('disabled', true);
or
$(":input", this._row).removeAttr('disabled');
を選択された行に応じて、このコードを実行します。ユーザーが「編集モード」に入る前に、その行の値を追跡したいので、変更を保存せずにその行をクリックすると元の値に戻すことができます。
ので、私はこれを行うことにより、配列の元の値をキャプチャ:
var $inputs = $(":input", this._row);
var values = {};
$inputs.each(function(i, el) { values[el.name] = $(el).val(); });
「値」列は次のようになります。
ctl00$ContentPlaceHolder1$resultsGrid$ctl04$COMPONENT1 "56"
ctl00$ContentPlaceHolder1$resultsGrid$ctl04$COMPONENT2 "98"
ctl00$ContentPlaceHolder1$resultsGrid$ctl04$COMPONENT3 "08"
ctl00$ContentPlaceHolder1$resultsGrid$ctl04$COMPONENT4 "200"
グレートこれまでのところ。ユーザーはこれらの値を変更できますが、変更を保存しないことにします。 だから、私はこの行を復元する必要があります '値'配列からorignal値です。 誰かがこれを行う最善の方法を教えてもらえますか?イムは、私がテストを設定するための時間を持っていませんが、私の頭の上のオフに私がしようとするだろう、それは単純なものですが、私はjqueryの専門家だ、まだ...
おかげ
私はこれを使用する/理解しようとしていますが、後で元のデータを保存するにはどうしたらいいですか? 最初の 'inputs.each'関数は実際に何を作成しますか? 少し詳細を教えてください。感謝! ありがとう! – 29er
'データメソッド'を使用すると、あらゆる種類のデータをjQuery要素に関連付けることができます。つまり、コード内でその '値'オブジェクトを使用したり、その状態を維持する必要はありません。コメントでコードを修正しました。さらなる質問がある場合はお知らせください。 – SolutionYogi
説明に余分なステップを取ってくれてありがとうsooo。よく働く!!非常に感謝します – 29er