这是我的 JQuery 代码:
$.ajax({
type: 'POST',
url: 'query2.php',
data: key,
dataType: 'json',
success: function (msg) {
var cnt = 0;
$.each(msg, function(){
$('#jobtitle').html("<div>" + msg[cnt].jobTitle + "</div>");
$('#jobname').html(msg[cnt].jobName);
$('#fullname').html(msg[cnt].fullName);
$('#phone').html(msg[cnt].phone);
$('#mail').html(msg[cnt].mail);
$('#city').html(msg[cnt].city);
$('#description').html(msg[cnt].description);
cnt++;
});
从我的 query2.php 中我得到这样的信息:
{'JobTitle': 'a', 'jobName': 'b', ...}, {'JobTitle': 'a', 'jobName': 'c', ...}
为什么我无法打印两行结果?它只打印一行。
更新: 首先,感谢您的所有回答:)
正如#Suren Srapyan 所说,我使用了键、值+附加,但结果并不好。它返回几个重复值,例如:
شرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکتشرکت
گلخانهمهندسیگلخانهمهندسیگلخانهگلخانهمهندسیگلخانهگلخانهمهندسیمهندسیگلخانهمهندسیمهندسی
علی علویمصطفی کلانترعلی علویمصطفی کلانترعلی علویعلی علویمصطفی کلانترعلی علویعلی علویمصطفی کلانترمصطفی کلانترعلی علویمصطفی کلانترمصطفی کلانتر
12345609153040406123456091530404061234561234560915304040612345612345609153040406091530404061234560915304040609153040406
a@a.comM.Mastersoft@gmail.coma@a.comM.Mastersoft@gmail.coma@a.coma@a.comM.Mastersoft@gmail.coma@a.coma@a.comM.Mastersoft@gmail.comM.Mastersoft@gmail.coma@a.comM.Mastersoft@gmail.comM.Mastersoft@gmail.com
مشهدتهرانمشهدتهرانمشهدمشهدتهرانمشهدمشهدتهرانتهرانمشهدتهرانتهران
توضیحات علی علویتوضیحات مصطفیتوضیحات علی علویتوضیحات مصطفیتوضیحات علی علویتوضیحات علی علویتوضیحات مصطفیتوضیحات علی علویتوضیحات علی علویتوضیحات مصطفیتوضیحات مصطفیتوضیحات علی علویتوضیحات مصطفیتوضیحات مصطفی
我只有两个数组元素:
{'JobTitle': 'a', 'jobName': 'b', ...}, {'JobTitle': 'a', 'jobName': 'c', ...}
我的回答(浏览器的检查元素)是正确的。 正如 @memo 所问,我的 HTML 是:
<div class="row" id="show">
<div class="cell" id="jobtitle"></div>
<div class="cell" id="jobname"></div>
<div class="cell" id="fullname"></div>
<div class="cell" id="phone"></div>
<div class="cell" id="mail"></div>
<div class="cell" id="city"></div>
<div class="cell" id="description"></div>
</div>
是的@Z.Alpha,如果我不使用追加,它会打印最后一行。
最佳答案
因为您每次都更改HTML。
$('#jobtitle').append("<div>" + msg[cnt].jobTitle + "</div>");
此代码将 Html 设置为该值,然后在下一次迭代中它将用另一个代码替换该值,因此您只能看到最后一个。
和
您可以删除 cnt
变量并像这样编写
$.each( msg, function( key, value ) {
$('#jobtitle').append("<div>" + value.jobTitle + "</div>");
$('#jobname').append(value.jobName);
$('#fullname').append(value.fullName);
$('#phone').append(value.phone);
$('#mail').append(value.mail);
$('#city').append(value.city);
$('#description').append(value.description);
});
其中 key
是您的索引,例如 0,1,2,value
是您当前的项目。
请参阅文档
http://api.jquery.com/jquery.each/
http://api.jquery.com/html/
关于php - 迭代数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561946/