2012-09-25 90 views
0

因此,我想爲從ModelForm生成的表的每一行添加一個額外的列。在Django模板中,我使用:將自定義列添加到從ModelForm創建的表中

{{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

如果這是您需要添加的唯一內容,那應該沒問題。

可以略微改進的代碼如下:

$('.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]

從本質上講,我的代碼與您的原始代碼完全相同,再加上一些未來的驗證。

相關問題