将名字命名为历史页面

时间:2013-07-17 17:20:27

标签: javascript jquery

我在这里为每个用户获取名称,并将id设置为该名称。我将图像的ID设置为此处的名称。然后在单击这些图像时,我将名称传递给history.php页面,其中显示使用该名称数据。但是现在在window.location行项目是未定义的。这是正确的方法还是有其他标准方法?

$.getJSON('rest.php/names', function(data) {
        var items = [];
        var recs = data.records;
        for(var i=0; i<recs.length; i++){
            items[i] = recs[i].name;
            $('#theImg').append('<img id="' + items[i] + '"' + 'src="images/Arrow-Left.png" />');
            $("img").click(function(){
                window.location = 'history3.php?name=' + items[i];
            });
        }
    });

2 个答案:

答案 0 :(得分:2)

更改此行

window.location = 'history3.php?name=' + items[i];

如下所示并检查

window.location = 'history3.php?name=' + $(this).attr('id');

*根据@Neal的建议更新使用this.id,效率更高

window.location = 'history3.php?name=' + this.id;

答案 1 :(得分:1)

更改为

$('img'+items[i]).click(function(){...}

window.location = 'history3.php?name=' + $(this).attr('id');