0

薬の価格を取得するために 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 %}
4

1 に答える 1

0

したがって、コードの問題は、この行でテーブル本体を上書きしていることです$("#attendees tbody").html(tbl_body);

を使用$().append()して、テーブルに新しい行を追加できます。

例については、こちらのドキュメントをご覧ください。

于 2013-10-18T00:29:58.197 に答える