【问题标题】:JSON show actual data based on IDsJSON 根据 ID 显示实际数据
【发布时间】:2012-06-24 00:34:44
【问题描述】:

http://jsfiddle.net/Zyjwb/5/

如何根据指定的id在每个house/condo的信息窗口内显示业主的实际姓名?

所以,如果 house 元素在 owners 属性中列出了 13 - 当 时将它们转换为 JimPeter为每个标记打开信息窗口

【问题讨论】:

    标签: javascript jquery json google-maps google-maps-api-3


    【解决方案1】:

    您用来存储所有者的结构很难做到这一点。

    var owners = [{
        id: '1',
        name: 'Jim'},
    {
        id: '3',
        name: 'Peter'},
    {
        id: '54',
        name: 'Harry'}];
    

    如果改成下面这样就跟owners[elem.owner]一样简单

    var owners = {
        '1': 'Jim',
        '3': 'Peter',
        '54': 'Harry'
    }
    

    当前结构需要循环遍历数组以找到具有指定 id 的对象。

    更新工作演示(基于 cmets):http://jsfiddle.net/Zyjwb/12/

    【讨论】:

    • 但是,如果 owners 数组还包含,比如说,这个人的电话号码呢?
    • 我不认为你可以这样找到对象值....jsfiddle.net/mblase75/Zyjwb/4
    • @Blazemonger 你指的是什么? owners[elem.owner]? jsfiddle.net/T5Yk9
    • @Bob 然后用嵌套对象替换 'Jim'。
    • 是的,它不会像 owner[elem.owner] 那样简单,因为 elem.owner 是一个数组
    【解决方案2】:

    您需要先提取所有者信息:

    上面:var content = '<div id="info">';,添加:

    var ownerInfo = '';
    var ownerList =  elem.owner;
    for(var ow=0;ow<ownerList.length;ow++) {
                ownerInfo += "&bull; " + owners[ow].name +"<br />";
    }
    

    然后在你的代码中降低:

    content += '<h3>Owners:</h3>' + ownerInfo; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-18
      • 2021-07-03
      • 2016-03-27
      • 1970-01-01
      • 2013-02-07
      • 2014-01-22
      • 2020-07-22
      • 2018-09-10
      相关资源
      最近更新 更多