我有这个模板,我在那里进行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 %}
答案 0 :(得分:0)
因此,您的代码中的问题是您使用此行$("#attendees tbody").html(tbl_body);
覆盖表格主体
您可以使用$().append()
向表中添加新行。
请查看文档here以获取示例。