tr 加事件
for ( var i = 0; i < oItem.length; i++) {
strId =oItem[i]["ID"]
mytr = mytable.insertRow();
mytr.setAttribute("id", "tr" + iRowIdTemp);
mytr.setAttribute("title",strTitle);
mytr.attachEvent('onclick', function(){selectPat(strId );});
iRowIdTemp++;
var mytdIndex1 = mytr.insertCell();
mytdIndex1.innerHTML = strId
}
function selectPat(strId )
{
alert(strId)
}
oItem的值为
oItem[0]["ID"] 0
oItem[1]["ID"] 1
当点击表格的行时,还管点哪一行都显示 1
我想实现 点第一行是 0 第二行才是 1 也就是显示的是 oItem的值
------解决方案--------------------贴出完整的代码,并且详细说明你想实现的效果
------解决方案--------------------insertRow和insertCell不用传参吗?记得貌似得用啊
------解决方案--------------------用委托试试吧。
------解决方案--------------------var strId =oItem[i]["ID"] 你这么写试试,是不是你用到了全局变量的事?不行 就用闭包吧
------解决方案--------------------理解不了楼主想要什么效果
------解决方案--------------------没有很懂LZ的意思呢。
------解决方案--------------------对应代码改成如下,建议去找一些闭包相关的知识看看
mytr = mytable.insertRow();
mytr.setAttribute("id", "tr" + iRowIdTemp);
mytr.setAttribute("title",strTitle);
mytr.setAttribute("strId",oItem[i]["ID"])
mytr.onclick = function () {
selectPat(this.getAttribute("strId"))
}