我有一个像这样生成的非常大的 html 表:
function getSpeciesRowHtml(row_data) {
var html = "";
html = html + '<tr>' +
'<td>' + row_data.id + '<input type="hidden" class="species_table_IDs" value="' + row_data.id + '"></td>' +
'<td>' + row_data.name + '</td>' +
'<td>' + row_data.name_lat + '</td>' +
'<td>' + row_data.class + '</td>' +
'<td>' + row_data.family + '</td>' +
'<td>' + row_data.family_lat + '</td>' +
'<td>' + row_data.order + '</td>' +
'<td>' + row_data.order_lat + '</td>' +
'<td>' + row_data.spec_status + '</td>' +
'<td><a class="btn_species_delete">Edit</a></td>' + //delete button
'</tr>'
;
return html;
}
function fillTable(data) {
var html = "";
$.each(data, function (i, item) {
html = html + getSpeciesRowHtml(data[i],true);
});
$('#species_table tbody')
.prepend($(html));
};
该表的数据通过控制器来自数据库。事实是数据可以被删除。为此,在表格的每一行中都有“删除”按钮。删除按钮由类选择器初始化,因为它们非常多(逐行创建表需要大量时间):
$('.btn_species_delete')
.button({ icons: { primary: "ui-icon-trash" }, text: false })
.click(function () { DeleteSpecies(id); });
也就是说,当你按下“delete”函数时,必须调用其中应该引用的“id”属性。问题是每个按钮都有自己独特的“id”,我不知道如何将它转移到那里。因为按钮的初始化是通过整个类执行的。如何最好地处理这个问题,让它尽快工作?