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 に答える