私はデータベースにhtmlテーブルのコンテンツを保存しており、jQueryを使用してデータを抽出し、これらのテーブルからJSONオブジェクトを作成して別のテーブルに配置します。
保存されたテーブルを取得し、次のようにDOMに追加します。
$('#divfortable).append(storedtable);
次のステップは、オブジェクトを作成することです。
var tableObject = $('# divfortable tbody tr').map(function(i) {
var row = {};
$(this).find('td').each(function(i) {
var rowName = columns[i];
row[rowName] = $(this).text().trim();
});
return row;
}).get();
ここで、関連する列名を持つ既存の配列があります。
次のステップは、これらの詳細をサーバーにアップロードすることです。
data = { id: id, tableObject: tableObject };
$.ajax({
dataType: 'json',
url:'my_url',
data: $.param(data),
error: function(jqXHR, textStatus, errorThrown) { },
success: function(data) { }
});
それはうまく機能し、結果には非常に満足していますが、私の問題は別のテーブルでプロセスを繰り返すときです。新しいテーブルを取得してその内容を同様の方法で抽出したいのですが、前の結果を取り除くことができません。結果には、新しくロードされたテーブルと前のテーブルのテーブルが含まれます。もう一度繰り返すと、3つのテーブルすべての結果が含まれます。
前の抽出からすべてのオブジェクトとDOM要素を空にする必要があることは明らかですが、さまざまな方法を試しましたが、役に立ちませんでした。私はインターネットとこのフォーラムを検索して、deleteまたはemptyを使用してtableObjectを破棄し、新しいものを作成できることを収集しましたが、それは機能しません。
私は次のことを試しました:
delete tableObject;
と
$('#divfortable).remove(storedtable);
成功関数で、一緒にそして別々に
私も使用しました
$('#divfortable).remove(storedtable);
データオブジェクトを作成した後
data = { id: id, tableObject: tableObject };
ただし、この場合、スクリプトはajax呼び出しに進みませんが、表示する$('#divfortable)
ことで両方のテーブルが表示されます。
以前の結果を取り除くにはどうすればよいですか?