我必须在下面的列表中向html页面显示一些json数据是我的jquery代码
var u_Name, u_Mobile, u_lat, u_lang, driver_ID;
function fetchEnquiry(driverid) {
jQuery.ajax({
url: baseurl + "fetchenquiry.php",
data: 'driverid=' + driverid,
type: "POST",
success: function (response) {
response = $.trim(response);
if (response == "NO Enquiry") {
console.log(response);
} else {
var enquiryDet = jQuery.parseJSON(response);
jQuery(enquiryDet).each(function (index, element3) {
u_Name = element3.name;
u_Mobile = element3.mobile;
u_lat = element3.location_lat;
u_lang = element3.location_lang;
driver_ID = element3.driver_id;
$.each(enquiryDet, function (i, item) {
$('.notifications_show').html(enquiryDet[i].name);
});
});
}
},
error: function () {}
});
}
HTML CODE
<div class="notifications_show">
</div>
它只显示最后一个结果。
请帮助!
答案 0 :(得分:1)
在这一部分:
$.each(enquiryDet, function (i, item) {
$('.notifications_show').html(enquiryDet[i].name);
});
您正在替换结果元素的完整html。
您需要使用.append()
添加更多值,而不是替换当前值。
像这样:
$.each(enquiryDet, function (i, item) {
$('.notifications_show').append(enquiryDet[i].name);
});
修改强>
如评论中所述,您应在$('.notifications_show').empty()
之前添加.each
,以清除目标div中的当前结果。
答案 1 :(得分:1)
只需使用.append而不是.html:
$.each(enquiryDet, function (i, item) {
$('.notifications_show').append(enquiryDet[i].name);
});
答案 2 :(得分:1)
改变这个:
$.each(enquiryDet, function (i, item) {
$('.notifications_show').html(enquiryDet[i].name);
});
到此:
$('.notifications_show').empty();//flush content before adding new content
$.each(enquiryDet, function (i, item) {
$('.notifications_show').append(enquiryDet[i].name);
});
html
替换所选元素的内容,append
在所选元素中追加(最后)。
答案 3 :(得分:1)
使用变量并将文本附加到该变量,然后将其附加到.notifications_show
div
var text = '';
$.each(enquiryDet, function (i, item) {
text+=enquiryDet[i].name;
});
$('.notifications_show').html(text);