
你可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始)
点击 checkbox,获取 parentNode (也就是 td),tdcellIndex 就是所在列的键值
点击 checkbox,获取 parentNodeparentNode (也就是 tr),trrowIndex 就是所在行的键值
<script type="text/javascript">// 点击
documentonclick = function(e) {
// 兼容 event 和 target
e = e || windowevent;
var target = etarget || esrcElement;
// 确认是 checkbox
if(targettagNametoLowerCase() === "input"
&& targettype === "checkbox") {
// 获取行列键值
var row_num = targetparentNodeparentNoderowIndex;
var col_num = targetparentNodecellIndex;
// 输出
alert(row_num + " " + col_num);
}
};
</script>
因为键值是从 0 开始,一般需要 +1 才是行列数,但因为你表单中第一行个第一列都是文字,所以不需要 +1 正好输出需要的数字,例如点击周四 + 6,会输出 4 6
先说思路:
当点击某一行的时候,能得到这个tr的对象,可以通过这个对象得到该行的所有td对象,这时候可以通过一个序号来获取这一行的某个td的数据。
下面以代码来解释
<table id="tb"><tr>
<td>a</td><td>b</td><td>c</td>
</tr>
<tr>
<td>aa</td><td>bb</td><td>cc</td>
</tr>
</table>
<script>
//以jquery为例实现点击某行获得某个td的数据
$( "#tb tr" )click( function() {//给每行绑定了一个点击事件
var td = $( this )find( "td" );//this指向了当前点击的行,通过find我们获得了该行所有的td对象
//题中说到某个td,为了演示所以我们假设是要获得第3个td的数据
var data = tdeq( 2 )html();//通过eq可以得到具体的某个td对象,从而得到相应的数据
} );
</script>
综上,我们就实现了通过点击某行获得某个td的数据。
直接在td里面添加click事件click="test(this)",然后就可以比较容易的获取到table各行各列的值
thisvalue就是里面的值,还有thisinnerText,thisHTMl具体用什么,根据情况考虑
以上就是关于用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!全部的内容,包括:用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!、在表格中单击其中的某一行产生一个js单击事件,怎么样在js获取这一行的某一个td的数据、js中如何获得jsp里table中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)