1

如果我传递一个变量,我已经完成了,id但现在我想name在单击图像时传递给同一个函数。这是我的代码:

 for (var i = 0; i <friend_data.length; i++) {
                        results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id,'+ friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
                    }

function testId(id, friend_data[id].name ){
    alert(id);
    alert(friend_data[i].name);     
}

alert(friend_data[i].name);不显示,因为它是错误的。请帮我纠正它。请看看onclick它是否是传递变量的正确方法?

4

5 回答 5

4

尝试这个

function testId(id, name ){
    alert(id);
    alert(name);
}
于 2013-04-19T10:13:26.960 回答
3

将 for 循环更改为此

for (var i = 0; i <friend_data.length; i++) {
results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id,'+friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
}
于 2013-04-19T10:14:17.090 回答
2

您忘记添加+代码'+friend_data[i].name+'

for (var i = 0; i <friend_data.length; i++) {
    results += '<div class = "clicker" id = "'+friend_data[i].id+'" onclick="javascript:testId(this.id, '+friend_data[i].name+')"><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture" height="30" width="30">' + friend_data[i].name + '</div>';
}
于 2013-04-19T10:14:37.193 回答
0
function testId(id, name ){
    alert(id);
    alert(name);
}

然后调用它:testId(friend_data[i].id, friend_data[i].name)

或者

function testId(friend){
    alert(friend.id);
    alert(friend.name);
}

然后使用以下命令调用它:testId(friend_data[i])

于 2013-04-19T10:15:08.183 回答
0

您的功能应定义为:

function testId(id, name) {
    alert(id);
    alert(name);
}

namefriend_data[i].name当函数被调用时,将取 的值。

于 2013-04-19T10:14:10.847 回答