2

最初の行のリンクがクリックされたときに、テーブルの 3 つの行を削除する必要があります。

行は jQuery を使用して動的に作成され、以下のようにテーブルに追加されます。

var ups='';
        ups+='<tr data-file='+file_id+'>';
        ups+='<td width="40%">'+gl_file_name1+'</td><td>'+gl_upload_date1+'</td>';
        ups+='<td>'+gl_upload_desc+'</td>';
        ups+='<td><a href="sym.php?doc_id='+file_id+'" class="view2_fl">VIEW FILE</a> | <a href="javascript:void(0);" data-file='+file_id+' data-job='+job_id+' class="del2_fl">DELETE</a></td></tr>';
        ups+='<tr><td>'+priority+'</td><td>'+price+'</td><td>'+tender+'</td><td>&nbsp;</td></tr>';
        ups+='<tr class="bottom-row"><td colspan="4">'+notes+'</td><tr>';

        $(ups).prependTo('.app_table');

これは、「ファイル」の数だけループされます。

DELETE リンクが押されたら、3 行すべてを削除する必要があります。これまでのところ、以下のコードを使用して最初の行を削除できました。

$(this).closest("tr").remove();

.next() を使用しようとしましたが、これは機能していないようです。

4

3 に答える 3

4

リンクのある行を取得すると、そこから次の行を取得して jQuery オブジェクトに追加し、3 つすべてを一度に削除できます。

var tr = $(this).closest("tr");
tr.add(tr.next()).add(tr.next().next()).remove();

最初に 3 つの行をすべて取得することにより、既に削除した行の隣にある行を見つけたいという問題はありません。

于 2012-09-19T13:30:10.873 に答える
3

別のアイデアとして、gt のようなセレクターを使用することもできます。

例えば:

$('tr:gt(1)').remove()

最初の行の後に行を削除する必要があります。

$('tr:eq(0)').remove()

最初の行を削除する必要があります

よろしく

于 2012-09-19T13:34:37.173 に答える
2

next() はうまくいくはずです。最も近い tr への参照を保存し、最初に他のものを削除してみてください。

var $tr = $(this).closest("tr");
$tr.next("tr").remove();
$tr.next("tr").remove();
$tr.remove();

デモ フィドル: http://jsfiddle.net/rupw/tZMgs/

于 2012-09-19T13:29:07.537 に答える