将两个变量传递给一个JavaScript函数

时间:2013-04-19 10:11:36

标签: javascript

如果我传递变量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这是传递变量的正确方法吗?

5 个答案:

答案 0 :(得分:4)

试试这个

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

答案 1 :(得分:3)

将循环更改为此

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>';
}

答案 2 :(得分: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>';
}

答案 3 :(得分:0)

您的功能应定义为:

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

name将在调用函数时取值friend_data[i].name

答案 4 :(得分: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])

调用它