0

我有以下代码:

var storedNames = JSON.parse(localStorage.name); 
var mytable = "<table> cellpadding=\"0\" cellspacing=\"0\"><tbody><tr>"; 
for (var i = 0; i < storedNames.length; i++) {   
  if (i % 2 == 1 && i != 1) {
     mytable += "</tr><tr>";   
  }

    mytable += "<td>" + storedNames[i].name +" "+ storedNames[i].email+"</td><td><img id='arrow' src='arrow.png' height='20' width='20' onclick='redirectToDetail();' ></td></tr>"; 
} 

mytable += "</tbody></table>";

document.write(mytable);

在这里,在 redirectToDetail 函数中,我想要我的价值。我怎么能通过这个?任何的想法?提前谢谢你

4

4 回答 4

1

试试这个

 mytable += "<td>" + storedNames[i].name +" "+ storedNames[i].email+"</td><td><img id='arrow' src='arrow.png' height='20' width='20' onclick='redirectToDetail(\'"+ i +"\');' ></td></tr>";

并接受它redirectToDetail

 function redirectToDetail(val){
     alert(val);
  }
于 2013-04-09T07:30:08.737 回答
0

试试这个

onclick='redirectToDetail(\'"+i+"\')
于 2013-04-09T07:29:58.337 回答
0

我认为这会做到。核实。

mytable += "<td>" + storedNames[i].name +" "+ storedNames[i].email+"</td><td><img id='arrow' src='arrow.png' height='20' width='20' onclick='redirectToDetail(" + i + ");' ></td></tr>";
于 2013-04-09T07:30:35.460 回答
0

只需将该值添加为传递给 onclick 事件的文字常量,您就可以自由自在了。此外,我强烈建议您考虑使用数组并加入字符串,因为您将获得更好的性能,尤其是在 IE 中。

var storedNames = JSON.parse(localStorage.name); 
var mytable = ['<table cellpadding="0" cellspacing="0"><tbody><tr>'];
for (var i = 0; i < storedNames.length; i++) {   
  if (i % 2 == 1 && i != 1) {
     mytable.push("</tr><tr>");   
  }
  mytable.push('<td>' + storedNames[i].name + ' ' + storedNames[i].email + '</td><td><img id="arrow" src="arrow.png" height="20" width="20" onclick="redirectToDetail(' + i + '"></td></tr>"');
} 

mytable.push("</tbody></table>");

document.write(mytable.join());

现在你可以像这样声明你的 onclick 函数:

function redirectToDetail(value) {
   //do stuff with the value
}
于 2013-04-09T07:36:39.880 回答