我有以下代码:
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函数中,我希望我重视。我怎么能通过这个? 任何的想法? 谢谢你提前
答案 0 :(得分: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);
}
答案 1 :(得分:0)
试试这个
onclick='redirectToDetail(\'"+i+"\')
答案 2 :(得分: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>";
答案 3 :(得分: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
}