0

我在这里为每个用户获取名称并将 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];
            });
        }
    });
4

2 回答 2

2

更改此行

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

如下所示并检查

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

*this.id按照@Neal的建议更新使用,它会更有效率

window.location = 'history3.php?name=' + this.id;
于 2013-07-17T17:25:31.770 回答
1

改成这个

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

或者

window.location = 'history3.php?name=' + $(this).attr('id');
于 2013-07-17T17:26:14.477 回答