JS循环添加点击事件

JavaScript018

JS循环添加点击事件,第1张

你最终的目的应该是想在input按钮上加入点击事件吧,点击后将input的值写入cookie吧,这样

的话,给tr加事件是没有意义的,下面的代码在不引用任何构架的前提下实现的,没有使用jquery

也没有使用ExtJS,相对比较麻烦些,希望你能看懂,如果用jquery的话,更简单了,这里就不写了

function writeCookie(name, value) {

// 写入cookie的代码你自己去实现

}

var rows = new Array() // 这个表格行的数组你自己组织吧,我这里只是定义一个简单的js数组,你可以从后台取这个值

// 先生成HTML代码,输出到网页上,这样才用JS绑定事件

var strHTML = ''

for(var i=0 i<rows.length i++) {

strHTML='<tr>' +

'<td><input id='btn_" + i + "' type="hidden" value='" + rows[i].id + "' /></td>' +

'<td>无关紧要的内容</td>' +

'</tr>'

}

document.writeln(strHTML)

// 绑定事件

for (var i=0 i<rows.length i++) {

var btnName = 'btn_' + i

var e = document.getElementById(btnName)    // 循环取出每个按钮对象

var value = e.value             // 取出按钮的值

e.onclick = function() {

writeCookie(btnName, value)     // 以btnName作为键名,将按钮的值写入cookie

}

}

function selectTag(showContent,selfObj){

var tag = document.getElementsByTagName("li")

var taglength = tag.length

for(var i=0i<taglengthi++){

tag[i].className = ""

}

selfObj.parentNode.className = "selectTag"

for(var i=0j=document.getElementById("tagContent"+i),i<taglengthi++){

j.style.display = "none"

}

document.getElementById(showContent).style.display = "block"

}

//]]>

</script>

这个 可以的!