用Javascript怎么获取 checkbox 所选中的行的 其他列的 值
例如<tr><td>abc</td><td>abc</td><td><inputtype='checkbox'value='显示'></td><td><inputtype...
例如
<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
该怎么做 ... 展开
<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
该怎么做 ... 展开
4个回答
展开全部
给那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之类的语句,如果那行一个都没有选则不打印
}
}
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之类的语句,如果那行一个都没有选则不打印
}
}
展开全部
我想你要用到后台吧,那么就不能仅仅停留在前端了。
建议你给每一行的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
建议你给每一行的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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要有一个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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var tmp = $(this);
rete = tmp.parent().prev();
获取当前元素的父级元素的前一个元素。
仅供参考,根据自己的实际情况去写。
rete = tmp.parent().prev();
获取当前元素的父级元素的前一个元素。
仅供参考,根据自己的实际情况去写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询