0

私はデータベースに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)ことで両方のテーブルが表示されます。

以前の結果を取り除くにはどうすればよいですか?

4

1 に答える 1

0

#divfortable2番目の操作の前に、電流を単純にクリアできるはずです。

$('#divfortable').empty();
于 2013-02-11T11:58:34.723 に答える