【问题标题】:converting object to string with append method使用 append 方法将对象转换为字符串
【发布时间】:2017-02-17 12:37:44
【问题描述】:

在我的页面上,我有一个包含 UL 的部分,每个 UL 都从字符串数组中填充

dealers = [{
    title   : "Brecksville",
    address : "8383 Chippewa Rd.,",
    locale  : "Brecksville, Ohio - 44141",
    phone   : "(440) 740-0535",
    location: {lat: 41.32134300, lng: -81.62338300}
}];

为简洁起见,我只显示字符串数组中的一个字符串...

这个字符串像这样填充到 UL 中......

function populatDealerSummaryList(select, dealers) {
    $listSelector = $("#dealersList"); //The Dealer Summary List

    $.each(dealers, function (i, obj) {
        $listSelector.append(
            "<ul class='dealer-summary-list'>" +
            "<li class='dealerName'>" + obj.title + "</li>" +
            "<li class='dealer-summary-listItem'>" + obj.address + "</li>" +
            "<li class='dealer-summary-listItem'>" + obj.locale + "</li>" +
            "<li class='dealer-summary-listItem'>" + obj.location + "</li>" +
            "<li class='dealer-summary-listItem'>" + obj.phone + "</li>" +
            "</ul>");
    });
}

以上...经纬度用obj.location表示...

问题是...... lat long 只呈现为 [object, object]

我不确定如何正确传递它以使其呈现...请帮助

【问题讨论】:

  • 你会如何期望它被渲染......?除了[object Object] 之外,Javascript 也不知道如何将对象转换为字符串。您需要更多手动操作。
  • 这样试试 "
  • " + obj.location.lat +"," +obj.location.lng+ "
  • " +
  • 这是一个 JSFiddle...jsfiddle.net/tonykiefer/hjwL0v1s
  • 标签: javascript arrays json string


    【解决方案1】:

    你得到这个结果是因为Object方法toString()返回这个输出字符串"[object Object]";

    你可以这样写:

    ...>" + JSON.stringify(obj.location) + "<...
    

    或者

    ...>" + obj.location.lat + ', ' + obj.location.lng + "<...
    

    看看JSFiddle。两种方法都有

    【讨论】:

    • @tony 再看我的回答,我改了。我将 JQuery 依赖项添加到您的 JSFiddle 并在文档就绪事件后调用 initialize
    • 很棒的安东尼奥...感谢您的帮助!我正想弄清楚这一点。
    【解决方案2】:
    obj.location is an object that contains two keys inside.
    

    您将整个object 传递给&lt;li&gt; 元素。

    你应该:

    "<li class='dealer-summary-listItem'>" + obj.location.lat + " " + obj.location.lng + "</li>"
    

    【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签