0

何を試しても行を削除できないように見えるテーブルがあります。Json を使用して php/mysql ルックアップから生成された 5 列と数行の単純なテーブルです。最終的には、ボタンをクリックしてmysqlテーブルから行を削除したいのですが、jqueryで行を削除する「簡単な」部分に行き詰まっています。

テーブルを作成するコードは次のとおりです。

var table = $('<table></table>').addClass('tbc');
for (var i = 0; i < json.admin_tables.length; i++) {
var row = $('<tr></tr>').addClass('guid').attr('id', i).add('<td>' + json.admin_tables[i].Room + '</td><td>' + json.admin_tables[i].time + '</td><td>' + json.admin_tables[i].Desk + '</td><td>' + i + '</td><td><input type="button" id="'+ i + '" class="delete" value="Delete row ' + i + '"</td>');
table.append(row);
$('#roomTable').append(table);
} 

ただし、次のコードはまったく何もしません (firebug でエラーは発生しません)。

$('.delete').click(function() { 
    $(this).closest("tr").remove();
}

「tr」を「td」に変更すると、ボタンのみが削除され、すべてのフィールドを個別に削除する必要はありません!

4

1 に答える 1

2

要素は動的に挿入されるため、.deleteそれらを対象とするデリゲートされたイベント ハンドラーが必要になります。

$('#roomTable').on('click', '.delete', function() { 
    $(this).closest("tr").remove();
});
于 2013-04-02T22:17:10.237 に答える