【问题标题】:Problem with append in $.each在 $.each 中追加的问题
【发布时间】:2011-11-26 02:00:00
【问题描述】:

我在jQuery.each() 后面有 3 个输出,我想在一个标签 li 中回显(append)。

点赞:

这是输出 $.each(): how & hello & hi

我想要这个:

<ol>
    <li>
        <a href="">how</a>
    </li>
    <li>
        <a href="">hello</a>
    </li>
    <li>
        <a href="">hi</a>
    </li>
</ol>

但是下面的 jquery 代码在 a li 中追加了所有 3 次,如:(我不想要这个)

<ol>
    <li>
        <a href="">howhellohi</a>
    </li>
    <li>
        <a href="">howhellohi</a>
    </li>
    <li>
        <a href="">howhellohi</a>
    </li>
</ol>

这是我的 jquery 代码:

$.ajax({
    type: "POST",
    dataType: "json",
    url: 'get_residence',
    data: dataString_h,
    cache: false,
    success: function (respond) {
        $.each(respond.data, function (index, value) {
            $('ol li').append('<a href="" class="tool_tip" title="ok">' + value.name[index] + '</a>');
        });
    },
    "error": function (x, y, z) {
        alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
    }
});

这是我在 jquery 代码中的回复:

{
    "data": [{
        "name": "how",
        "star_type": "5-hotel",
        "site": "www.sasaas.assa",
        "service": ["shalo", "jikh", "gjhd", "saed", "saff", "fcds"],
        "address": "chara bia paeen"
    }, {
        "name": "hello",
        "star_type": "4-motel",
        "site": "www.sasasa.asas",
        "service": ["koko", "sili", "solo", "lilo"],
        "address": "haminja kilo nab"
    }, {
        "name": "hi",
        "star_type": "3-apparteman",
        "site": "www.saassaas.aas",
        "service": ["tv", "wan", "hamam", "kolas"],
        "address": "ok"
    }]
}

如何解决?

【问题讨论】:

  • 请看我的更新

标签: javascript jquery append each


【解决方案1】:

我认为这是您所追求的逻辑:

$.each(respond.data, function (index, value) {
    $('ol li').eq(index).append('<a href="" class="tool_tip" title="ok">' + value.name[index] + '</a>');
});

这会将数据添加到正确的列表项,而不是将相同的数据添加到所有列表项。

【讨论】:

    【解决方案2】:

    改变

    value.name[index] 
    

    在你的代码中

    value.name
    

    因为这实际上是正确的代码。这就是为什么你使用.each()

    【讨论】:

    • 我改了还是一样的问题
    • @EmmyCharles:所以问题出在其他地方,或者在您的服务器端
    【解决方案3】:

    您的代码对我来说似乎是正确的,问题可能在于value.name[index],它似乎总是等于howhellohi。如果您提醒value.name[index],您会得到什么?如果您总是收到howhellohi,则问题出在您的服务器端函数中

    【讨论】:

      猜你喜欢
      • 2012-09-17
      • 2014-12-10
      • 1970-01-01
      • 2014-01-13
      • 2020-09-11
      • 2018-01-08
      • 2015-01-11
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多