我的问题是,当我点击 tr
时,我会显示一个带有 {{formFacture.description_article}}
的选择字段,但它不起作用。
当我执行td.innerHTML = "test"
时,它确实有效。
这是我的 html 代码:
<tbody class="table-article-tbody" id="table_article_tbody">
{% for ligne in liste_article %}
<tr id="{{ ligne.ref_article }}">
<td>{{ ligne.descripton_article }}</td>
<td>{{ ligne.compte_article }}</td>
</tr>
{% endfor %}
<tr>
<td>{{ formFacture.description_article }}</td>
<td>{{ formFacture.compte_article }}</td>
</tr>
</tbody>
这是我的 JavaScript 代码:
<script>
$('#table_article tr').on('click', function(event){
event.preventDefault();
if($(this).attr('id') != undefined){
var $this = $(this);
$.ajax({
type: 'GET',
url : "{% url 'updateligneFacture_tem' %}",
data: $("#form_facture").serialize(),
success : function(data){
$('#contenue_fact').html(data);
$('#table_article tr:last').remove();
var row = $this.attr('id');
var tr = document.getElementById(row);
var td = tr.insertCell(0);
td.innerHTML = "{{ formFacture.description_article }}";
alert(tr);
$('.selectpicker').selectpicker();
},
error : function(){
alert("Erreur update !!");
}
});
}
});
</script>
最佳答案
您正在尝试将点击事件设置为表格:
$("#table_article tr").on("click", ...),但是你应该直接将事件分配给tr
$("#table_article tbody tr").on("click", ...)
或
$("#table_article_tbody tr").on("click", ...)
主要原因是你没有正确将事件设置到table的tr上。
此外,您可以使用过滤器转义 django 对象:safe 和 scapejs
{{ object|safe }}
{{ object|escapejs }}
关于javascript - 如何在javascript中显示django表单对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41879359/