2013-01-16 41 views
0

好吧,我试图在getIndividualMap函数中使用该变量,但我得到undefined错误。可能是什么问题呢?在JavaScript中传递变量onclick

var i; 
    for(i=0;i<=(data.length -1);i++) 
    { 
    $('#ResultsId').append("<table border='1'>" + 

    "<tr>" + 
    "<th>UserID</th>" + 
    "<th>RUNDATE</th>" + 
    "<th>NAME</th>" + 
    "<th>TIME</th>" + 
    "<th>DISTANCE (KM)</th>" + 

    "</tr>" + 
    "<tr>" + 
    "<td>" + data[i].UserID + "</td>" + " " + 
    "<td>" + data[i].runDate + "</td>" + " " + 
    "<td>" + data[i].firstName + "</td>" + " " + 
    "<td>" + data[i].Time + "</td>" + " " + 
    "<td>" + data[i].Distance + "</td>" + 
    "<td>" +"<a href='#' onclick= 'getIndividualMap(i)'>" + data[i].UserID +"</a>" + "</td>" + 
    "</tr>" + 
    "</table>"); 
    } 


getIndividualMap(){ 
console.log(i); 
} 

回答

4

功能参数变量缺少.....

getIndividualMap(i){ 
console.log(i); 
} 

并且在下面部分

"<td>" +"<a href='#' onclick= 'getIndividualMap(i)'>" + data[i].UserID +"</a>" + "</td>" + 

i被硬编码,但其可变

它应该是

"<td>" +"<a href='#' onclick= 'getIndividualMap("+ i + ")'>" + data[i].UserID +"</a>" + "</td>" + 
+0

还在说undefined –

+0

已更新我的回答 – iJade