php - 迭代数组

标签 php jquery arrays

这是我的 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/

相关文章:

c# - 从 .Net 调用 PHP 网络服务

动态 jquery 内容

arrays - 下标的使用不明确

objective-c - 在 Objective-C 中创建一个整数属性数组

c - 不理解空指针/如何转换? (C语言编程)

php - 正在写入文件但它在我的 Pi 上不起作用?

php - 为什么准备语句会导致绑定(bind)中的参数数量错误?

php - 没有 artisan 命令的 Laravel 小型独立一次性脚本?

javascript - jQuery map 不适用于 json 数组

javascript - 如何减慢 Flowslider slider 的速度?