0

所以我想为从 ModelForm 生成的表的每一行添加一个额外的列。在 Django 模板中,我使用:

 {{form.as_table}}

根据行的不同,该列的内容会有所不同。现在我有这个:

$('.table tr').each(function() {
    $(this).append("<td></td>");        
})
var row = $("#id_manufacturer").parent().parent();
var cells = $("td", test);
$(cells[1]).append("Stuff I am adding for this specific row");

我们有更好的方法来做到这一点!?谢谢!

4

1 回答 1

0

如果这是您需要添加的唯一内容,那应该没问题。

您可以按如下方式稍微改进代码:

$('.table tr').each(function() {
    $(this).append('<td class="myNewColumn"></td>');
})
$("#id_manufacturer").closest("tr").find("td.myNewColumn").append("Stuff I am adding for this specific row");

我不确定,test但假设你的意思是row.

这种方法避免了.parent().parent(),如果将来 HTML 结构发生变化,这有点难看并且容易出错。

类似地,用于标识新添加列的类名可以使您免受未来对表结构的更改。cells[1]可能有一天会成为cells[2]例子。

从本质上讲,我的代码与您的原始代码完全相同,加上一些面向未来的代码。

于 2012-09-25T02:07:42.127 回答