使用php和ajax在表中显示查询中的值
Show values from query in a table using php and ajax
我的代码有问题,所以我有一个数组,我传递给模板,数组如下:
Array
(
[0] => Array
(
[ref_article] => 1903
[ref_fournisseur] => sdsds
[lien_fournisseur] => www.four.com
[prix_ht] => 14.00
[gifts_number] => 3
)
[1] => Array
(
[ref_article] => 1907
[ref_fournisseur] => sdsds
[lien_fournisseur] => www.four.com
[prix_ht] => 12.00
[gifts_number] => 1
)
)
现在在模板中我做:
for (var item in result) {
document.getElementById('order_information').setAttribute('class','display-on');
document.getElementById('order_information').setAttribute('class','table');
var html = '<td>' + result[item]['ref_article'] + '</td>' +
'<td>' + result[item]['ref_fournisseur'] + '</td>' +
'<td>' + 'description' + '</td>'+
'<td>' + result[item]['lien_fournisseur'] + '</td>' +
'<td>' + result[item]['prix_ht'] + '</td>'+
'<td>' + 'disponibilite' +
'<td>' + result[item]['gifts_number'] + '</td>';
$("#content-order").html(html);
console.log(result[item]['ref_article']);
}
问题是页面上只显示最后一个<td></td>
,在本例中只显示带有[ref_article] = 1907
的文章。我做错了什么?你能帮我吗?提前感谢
问题是因为您正在使用html()
添加内容-这将覆盖#content-order
元素中任何预先存在的内容。相反,请尝试使用append()
:
$("#content-order").append(html);
还要注意,您可以修改前两行,以使用jQuery选择器和addClass()
方法:
$('#order_information').addClass('display-on table');
如果要清除从以前的请求中添加的信息,可以在添加新内容的for
循环之前使用.empty()
。下面是一个完整的例子:
// $.ajax({...
success: function(result) {
$("#content-order").empty(); // remove existing content
$('#order_information').addClass('display-on table');
for (var item in result) {
var html = '<td>' + result[item]['ref_article'] + '</td>' +
'<td>' + result[item]['ref_fournisseur'] + '</td>' +
'<td>description</td>' + // removed redundant string concatenation
'<td>' + result[item]['lien_fournisseur'] + '</td>' +
'<td>' + result[item]['prix_ht'] + '</td>'+
'<td>disponibilite</td>' + // added missing </td>
'<td>' + result[item]['gifts_number'] + '</td>';
$("#content-order").append(html);
console.log(result[item]['ref_article']);
}
}
尝试使用此代码
var html = '<table>';
for (var item in result) {
html += '<td>' + result[item]['ref_article'] + '</td>' +
'<td>' + result[item]['ref_fournisseur'] + '</td>' +
'<td>description</td>' + // removed redundant string concatenation
'<td>' + result[item]['lien_fournisseur'] + '</td>' +
'<td>' + result[item]['prix_ht'] + '</td>' +
'<td>disponibilite</td>' + // added missing </td>
'<td>' + result[item]['gifts_number'] + '</td>';
console.log(result[item]['ref_article']);
}
html += '</table>';
$("#content-order").html(html);
相关文章:
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- 使用按钮和媒体查询切换显示状态
- 菜单更改时仍显示@media查询
- onchange选择get value并执行查询,然后在同一页面上显示结果
- 使用jquery显示mysql查询结果
- 问题 - 在查询加载器 2 加载页面之前显示 1 秒的页面
- j查询用户界面按钮未显示
- j查询地理位置和地图突出显示
- 如何显示查询回调数据结果仅从开始
- 显示查询输出 HTML 中的图像
- 在控制台.log中显示查询的 [对象对象] 的字段
- 通过使用Fusion Table Layer平移和缩放以显示查询结果
- jquery/ajax以用户输入为条件运行php查询,然后显示查询结果而不刷新页面
- 如何在html选项框中显示查询结果
- Cloudboost.初学者.如何显示查询示例
- 使用php和ajax在表中显示查询中的值
- TypeAhead没有't显示查询结果
- 使用jquerybuilder显示查询
- 显示查询字符串 asp.net
- 突出显示查询在jQuery自动完成动态列表源