各位大侠:
我现在在jsp中有一个table,其中table第一列是checkbox,当我提交时,我想在javascript中判断,这个table中哪几行选中,请问如何判断?
我现在写的代码是:
var oTable = document.getElementById(tableid);
var oTBody = oTable.tBodies[0];
var colDataRows = oTBody.rows;
for (var i = 0; i < colDataRows.length; i++)
if (colDataRows[i].cells[0].checked == true)
但是提示没有这个属性,请各位帮忙。
我现在在jsp中有一个table,其中table第一列是checkbox,当我提交时,我想在javascript中判断,这个table中哪几行选中,请问如何判断?
我现在写的代码是:
var oTable = document.getElementById(tableid);
var oTBody = oTable.tBodies[0];
var colDataRows = oTBody.rows;
for (var i = 0; i < colDataRows.length; i++)
if (colDataRows[i].cells[0].checked == true)
但是提示没有这个属性,请各位帮忙。
也可以通过childNodes找
var oTable = document.getElementById(tableid);
var colDataRows = oTable.rows;
for (var i = 0; i < colDataRows.length; i++)
if (colDataRows[i].cells[0].checked == true)
不行啊,这样取得的值都是本页面中第一个"input"的标签,不是在table范围内的
如何把colDataRows[i].cells[0]转化为一个input对象呢
<tr><td><input type='checkbox' name='chk[]' id='chk_0'/></td><td>1</td></tr>
<tr><td><input type='checkbox' name='chk[]' id='chk_1'/></td><td>2</td></tr>
<tr><td><input type='checkbox' name='chk[]' id='chk_2'/></td><td>3</td></tr>
<tr><td><input type='checkbox' name='chk[]' id='chk_3'/></td><td>4</td></tr>
<tr><td><input type='checkbox' name='chk[]' id='chk_4'/></td><td>5</td></tr>
<table><input type='button' value="Rows checked" onclick="rc()"/><script type="text/javascript">
function $n(n){return document.getElementsByName(n);}
function rc()
{
var obj = $n('chk[]'),rs = [];
for(var i=0,j=obj.length;i<j;i++)
{
if(obj[i].checked) rs[rs.length] = obj[i].id.split('_')[1];
}
alert('You have selected rows : '+rs.join(','));
}
</script>
<script type="text/javascript">
function check1(){
var table1=document.getElementById("a");
var trs=table1.rows.length;
for(var i=1;i<=trs;i++){
var tdObj=table1.rows[i-1].cells[0];
if(tdObj.childNodes[0].checked){
alert("你选择了第"+i+"个");
}
}
}
</script>
</head><body>
<table id="a">
<tr>
<td><input type="checkbox" value="1" name="game" /> </td>
</tr>
<tr>
<td><input type="checkbox" value="1" name="game" /> </td>
</tr>
<tr>
<td><input type="checkbox" value="1" name="game" /> </td>
</tr>
</table>
<input type="button" onclick="check1()" />
</body>经过测试了可以用,主要是要通过childNodes[0]获得该td
如果用 document.getElementsByTagName 要多判断 type==checkbox
<table id='tbl'>
<tr><td><input type='checkbox' name='chkSelect' dataId='1' id='chk_0'/></td><td>1</td></tr>
<tr><td><input type='checkbox' name='chkSelect' dataId='2' id='chk_1'/></td><td>2</td></tr>
<tr><td><input type='checkbox' name='chkSelect' dataId='3' id='chk_2'/></td><td>3</td></tr>
<tr><td><input type='checkbox' name='chkSelect' dataId='4' id='chk_3'/></td><td>4</td></tr>
<tr><td><input type='checkbox' name='chkSelect' dataId='5' id='chk_4'/></td><td>5</td></tr>
<table>
var chkList = document.getElementsByName("chkSelect");
var arr=[];
for(var chk in chkList ){
if(chk.checked){chk.push(chk.getAttribute("dataId"));} // dataId 自定义属性,表示服务器端要操作的唯一标识
}alert("你选中了:"+arr.join(','));
var colDataRows = oTable.rows;
for (var i = 0; i < colDataRows.length; i++)
if (colDataRows[i].cells[0].all[0].checked == true)
上面写错了。应该取单元格里面的第几个控件
colDataRows[i].cells[0].firstChild.checked
<script type="text/javascript">
var top = 0; var choiceValue;
$(function() {
$("input#Submit").click(function() {
choiceValue = new Array();
$(this).prev().find("input:checked").each(function() {
choiceValue.push($(this).parent().next().html());
});
alert(choiceValue.valueOf());
});
});
</script>
<div>
<table>
<tbody>
<tr>
<td><input type="checkbox" /></td>
<td>1</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>2</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>3</td>
</tr>
</tbody>
</table>
<input type="button" value="Submit" id="Submit" />
</div>