用Javascript怎么获取 checkbox 所选中的行的 其他列的 值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Javascript怎么获取 checkbox 所选中的行的 其他列的 值相关的知识,希望对你有一定的参考价值。

例如
<tr>
<td>abc</td><td>abc</td><td><input type='checkbox' value='显示'></td><td><input type='checkbox' value='执行'></td><td><input type='checkbox' value='更新'></td>
<tr>
<td>bcd</td><td>bcd</td><td><input type='checkbox'></td><td><input type='checkbox'></td><td><input type='checkbox'></td>
</tr>
就是判断 例如 这两行中 当我随便选择 一行中的 三个复选框的其中一个 那么我就把 这一行的数据到数据库更新 当我多行都有选择的话(不管选择几个复选框) 那么这些行 都要动, 那么我选择第一行 abc这一行 把显示 和更新 选上 它的值应该是
1为真 0为假 ,1就是有这个权限
abc abc 1 0 1 应该是这样的
那么多行都有更新的话也就是
abc abc 1 0 1
bcd bcd 1 1 1
该怎么做 ...

给那table加个ID为“table”
var rows = document.getElementById("table").rows;
for(var i=0;i<rows.length;i++)
if(rows[i].cells[2].firstChild.checked||rows[i].cells[3].firstChild.checked||rows[i].cells[4].firstChild.checked)
var str = rows[i].cells[0].innerhtml+" "+rows[i].cells[1].innerHTML;
if(rows[i].cells[2].firstChild.checked)
str += " "+1;
else
str += " "+0;
if(rows[i].cells[3].firstChild.checked)
str += " "+1;
else
str += " "+0;
if(rows[i].cells[4].firstChild.checked)
str += " "+1;
else
str += " "+0;

alert(str);//打印出如:abc abc 1 0 1之类的语句,如果那行一个都没有选则不打印

参考技术A 我想你要用到后台吧,那么就不能仅仅停留在前端了。
建议你给每一行的checkbox加一个name属性,比如
<input type='checkbox' value='显示' value='0' name='ckb' class='cls'>
<input type='checkbox' value='执行' value='0' name='ckb' class='cls'>
<input type='checkbox' value='更新' value='0' name='ckb' class='cls'>
值默认为0,在前台,当你选中某一个时,将其值改为1,js代码,需要用jquery
$(function()
$(".cls").click(function()
this.value=1;
)
)

然后在后台用 Request.Form["ckb"]来接受checkbox的值,
就受到的值就例如这样 1 ,0 ,1
参考技术B 只要有一个checkbox被选中,就需要提交该行?
jquery:
var submitParas = $('tr:has(:checked)').map(function() with($('td',this))return [eq(0).text(),eq(1).text(),eq(2).find(':checkbox').attr('checked')?1:0,eq(3).find(':checkbox').attr('checked')?1:0,eq(4).find(':checkbox').attr('checked')?1:0];).get();
submitParas的结果就是
[
['abc','abc',1,0,1],
['bcd','bcd',1,1,1]
]
如果你是想alert出来,那么就
alert(submitParas.join('\n',function(rowParas)return rowParas.join(' ');));
结果就是
abc abc 1 0 1
bcd bcd 1 1 1
参考技术C var tmp = $(this);
rete = tmp.parent().prev();
获取当前元素的父级元素的前一个元素。
仅供参考,根据自己的实际情况去写。

以上是关于用Javascript怎么获取 checkbox 所选中的行的 其他列的 值的主要内容,如果未能解决你的问题,请参考以下文章

js怎么获取checkbox的值并传到action那

怎么用jQuery获取选中的label标签?

怎么用EL表达式获取select跟checkbox的值

怎么用JavaScript实现复选框的全部选择和全部取消

jquery实现 点击复选框,勾选所有复选框,再次点击取消勾选,这个功能怎么实现?

我想给checkbox用js注册一个onchange事件来监听它的状态的变化,该怎么样写?