繁体   English   中英

如何使用jquery动态地获取每个值?

[英]How to dynamically grab a value using jquery for each?

因此,我一直在努力解决这个问题。 我很确定我缺少关键信息。 我正在从JSON响应中获取一些值。 一个包含一个名称列表。 另一个包含与名称列表相对应的URL列表。

例如:

{"names":"john,casey,davey",
    "nameUrls":[{
    "johnURL":"http://url.com",
    "caseyURL":"http://url.com",
    "daveyURL":"http://url.com"]}

    names = (data.names).split(',');

$.each(data.nameUrls, function(key, val) {
    for (var i = 0; i < names.length; i++) {
            $("#left").append(val[names[i] + "URL"]);
    }
    })

现在第一个通过就好了。 但是其余的都不确定。 那我在做什么错? 在此先感谢您的帮助。

编辑:添加更多代码。

修复一些语法错误后,这是我在控制台中测试的代码,并且可以正常工作。

  var data = {
        "names": "john,casey,davey",
        "nameUrls": {
            "johnURL": "http://url.com",
            "caseyURL": "http://url.com",
            "daveyURL": "http://url.com"
        }
    };
    names = (data.names).split(',');
    $.each(data.nameUrls, function (key, val) {
        for (var i = 0; i < names.length; i++) {
            $("#left").append(val[names[i] + "URL"]);
        }
    });

在上面的几行中,我只是修复了语法错误,但是我相信这可能无法让您实现所需的功能。 试试下面的代码,让我知道。

var data = {
    "names": "john,casey,davey",
    "nameUrls": {
        "johnURL": "http://url1.com",
        "caseyURL": "http://url2.com",
        "daveyURL": "http://url3.com"
    }
};
names = (data.names).split(',');
$.each(data.nameUrls, function (key, val) {
    $("#left").append(val);
});

在我看来,您应该重组数据,以便它们之间更容易关联。

这样的事情对您有用吗?

data = [
  {"name": "john", "url":  "http://url.com"},
  {"name": "casey", "url":  "http://url.com"},
  {"name": "davey", "url":  "http://url.com"}
];

$.each(data, function(index, person) {
  $('#left').append(person.url);
});
var data = {
    "names": "john,casey,davey",
    "nameUrls": {
        "johnURL": "http://url.com",
        "caseyURL": "http://url.com",
        "daveyURL": "http://url.com"
    }
};

$.each(data.names.split(','), function (i, v) {
    $("#left").append( v + " ==> " + data.nameUrls[v + 'URL'] );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM