所以我想为从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");
我们有更好的方法来做到这一点!?谢谢!
答案 0 :(得分: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]
。
基本上,我的代码与原始代码完全相同,加上一些面向未来的代码。