Json响应表覆盖

时间:2013-10-17 23:39:03

标签: jquery python ajax django

我有这个模板,我在那里进行ajax调用以获取药品的价格,我得到数据的对象,我无法在表中显示数据的问题,'因为它覆盖了最后一个值和其他问题在于,它不会让表中的任何其他数据擦除所有数据,如nombre_medicamento或presentacion,它会执行一个新表。 我正在使用Django和Python

<script>
 $( document ).ready(function() {
    var data = $("#attendees tr.data").map(function (index, elem) {
    var ret = [];
        $('.inputValue', this).each(function () {
            var d = $(this).val()||$(this).text();
            ret.push(d);
            buscarprecio(d);
     });
     return ret;
});

function buscarprecio(idgrupo) {
      $.ajax({
            url: "/precio_search",
            type: "POST",
            dataType: "json",
            data: {
                grupname: idgrupo,
                csrfmiddlewaretoken: '{{ csrf_token }}'
            },
                success: function (json) {

                var jsonResponse = eval(json);
                var tbl_body = "";
                       var tbl_row = "";
                 $.each(jsonResponse, function(index, element){

                      $.each(this, function(k , v) {
                        tbl_row += "<td>"+ jsonResponse[0]["fields"]["medicamento_precio"]+"      </td>";
                   })
                  tbl_body += "<tr>"+tbl_row+"</tr>";
             })

                     $("#attendees tbody").html(tbl_body);
                 },
             error: function (xhr, errmsg, err) {
                alert(xhr.status + "  Inside error :    " + xhr.responseText);
            }
        });
     }

});
</script>
<table id="attendees" class="attendees">
<tbody>
<thead>
         <tr>
                <th style="text-align: center"><label>Nombre Del Medicamento</label></th>
                <th style="text-align: center"><label>Presentaciòn</label></th>
                <th style="text-align: center"><label>Precio</label></th>
                <th style="text-align: center"><label>Fecha En Que Se Extendio La  Receta</label></th>

          </tr>
            </thead>
             {% if formulario %}
                 {% for post in formulario %}
                 <tr class="data">
                    <td style="text-align: center" class="inputValue"> {{ post.nombre_medicamento_2.id}}</td>
                    <td style="text-align: center"> {{ post.presentacion_3}}</td>
                    <td style="text-align: center"  class="precio"></td>
                    <td style="text-align: center"> {{ post.receta_farmacos }}</td>
                </tr>
            {% endfor %}
        {% endif %}
    </tbody>
 </table>
{% endblock %}

1 个答案:

答案 0 :(得分:0)

因此,您的代码中的问题是您使用此行$("#attendees tbody").html(tbl_body);覆盖表格主体

您可以使用$().append()向表中添加新行。

请查看文档here以获取示例。