2017-01-26 2 views
1

Моя проблема в том, что когда я нажимаю на свой tr, я показываю поле выбора с {{formFacture.description_article}}, но оно не работает.Как отобразить объект формы django в javascript?

Когда я делаю 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> 
+0

Вы пробовали 'td.innerHTML = "{{formFacture.description_article | побег}}";'? –

+0

да, я попробовал, но та же проблема, что и его работа. – 123nada1

+0

Что представляет собой рендеринг этой части кода javascript? 'td.innerHTML =" {{formFacture.description_article}} ";' И что вы подразумеваете под «не работает»? Есть сообщение об ошибке в консоли javascript? Есть ли исключение python? –

ответ

0

Вы пытаетесь установить событие щелчка к столу как:

$ (» #table_article tr "). on (" click ", ...), но вы должны назначить событие непосредственно tr.

$("#table_article tbody tr").on("click", ...) 

или

$("#table_article_tbody tr").on("click", ...) 

Это основная причина, вы не установили событие в тр таблицы правильно.

Кроме того, вы можете избежать объекты Джанго с фильтрами: безопасные и scapejs

{{ object|safe }} 

{{ object|escapejs }} 
Смежные вопросы