JS循环添加点击事件

求高手解答。我需要做一个循环表格结构,大约是以下形式:foreach($resultas$row){echo"<tr><td><inputtype='hidden'val... 求高手解答。
我需要做一个循环表格结构,大约是以下形式:
foreach ( $result as $row ) {
echo "<tr><td><input type='hidden' value='".$rou['id']."' /></td>";

echo "<td>无关紧要内容</td></tr>";

}
怎么给这个结构中的每一个TR循环添加点击事件,点击后将input-hidden中的值放入cookie?
谁来帮帮我,不胜感激
展开
 我来答
acherson
2014-11-26 · TA获得超过115个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:115万
展开全部

你最终的目的应该是想在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
}
}
更多追问追答
追问
到底是不是我不懂了,type=‘hidden’不是隐藏的input吗?你让我给它本身加事件有什么意义?
追答

也对,可以给tr加事件,那就稍微改下,在生成HTML代码的时候稍微变化下

    strHTML+='<tr id='tr_" + i + "'>' +
                '<td><input id='btn_" + i + "' type="hidden" value='" + rows[i].id + "' /></td>' +
                '<td>无关紧要的内容</td>' +
            '</tr>';
    
// 绑定事件
for (var i=0; i<rows.length; i++) {
    var trName = 'tr_' + i;
    var btnName = 'btn_' + i;
    
    var tr = document.getElementById(trName);        // 循环取出每个tr对象
    var btn = document.getElementById(btnName);    // 取出按钮对象
    var value = btn.value;                        // 取出值
    tr.onclick = function() {
        writeCookie(trName, value)            // 以trName作为键名,将按钮的值写入cookie
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式