一个关于行选择的代码问题,困扰了很久。请大家帮忙--在线
写了一个函数,对列表进行行选择。点击行则前面的checkbox选中。否则不选中。这个函数运行时,当列表的数据>2行的时候。没有问题。当列表的数据只有1行的时候。点击那一行。就会错处。无法选择该行。不知道为什么。请大家赶快帮忙啊,帮忙找找代码那里出错了。多谢了
function clickedbox(tablerow)
{
if (event.srcElement.tagName=="TD"){
var oldchecked=document.all("checkbox").item(tablerow.rowIndex-1).checked;
document.all("checkbox").item(tablerow.rowIndex-1).checked=!oldchecked;
}
var newchecked=document.all("checkbox").item(tablerow.rowIndex-1).checked;
if (newchecked){
tablerow.bgColor="#f2f2f2";
}
else{
tablerow.bgColor="#ffffff";
}
}
问题点数:20、回复次数:6Top
1 楼kisslan(郁忧的曼陀萝)回复于 2004-02-03 13:30:21 得分 0
要先判断一下。 if(document.all.checked) 是否为true,如果为true的话,那么它就只有一行。否则它就有多行,这样再进行你的代码Top
2 楼kisslan(郁忧的曼陀萝)回复于 2004-02-03 13:33:02 得分 0
噢,应该是if(document.all.checkboxID.value)Top
3 楼kaiwen_lv(飘飘荡荡)回复于 2004-02-03 14:27:07 得分 0
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript1.3">
function CheckAll()
{
var will_checked=document.form.allbox.checked;
for (var i=0;i<document.form.elements.length;i++)
{
var e = document.form.elements[i];
if (e.name != 'allbox'){
e.checked = will_checked;
}
}
var length_table=document.all.table1.rows.length;
for (var i=1;i<length_table;i++)
{
if (will_checked){
document.all.table1.rows[i].bgColor="#f2f2f2";
}
else{
document.all.table1.rows[i].bgColor="#ffffff";
}
}
}
function clickedbox(tablerow)
{
if (event.srcElement.tagName=="TD"){
var oldchecked=document.all("checkbox").item(tablerow.rowIndex-1).checked;
document.all("checkbox").item(tablerow.rowIndex-1).checked=!oldchecked;
}
var newchecked=document.all("checkbox").item(tablerow.rowIndex-1).checked;
if (newchecked){
tablerow.bgColor="#f2f2f2";
}
else{
tablerow.bgColor="#ffffff";
}
}
</script>
</head>
<body class="BODY1" bgcolor="f2f2f2">
<form action="" name="form" >
<div align="center">
<table id="table1" width="90%" border="1" >
<thead>
<tr bgcolor="f8f4e4" style=cursor:default>
<th width="3%" height="22"><div align="left">
<input type="checkbox" name="allbox" value="checkbox" class="check" onClick="CheckAll();">
</div></th>
<th width="2%"> </th>
<td width="19%" class="9font" ><div align="center">产品类别及申证单元</DIV></td>
<td width="15%" class="9font" >企业名称</td>
<td width="16%" class="9font" >详细地址</td>
<td width="8%" class="9font" ><div align="center">邮政编码</div></td>
<td width="11%" class="9font" ><div align="center">联系人</div></td>
<td width="12%" class="9font" ><div align="center">联系电话</div></td>
<td width="14%" class="9font" ><div align="center">申请日期</div></td>
</tr>
</thead>
<tr bgcolor="ffffff" onClick="clickedbox(this);" >
<td height="22">
<input type="checkbox" name="checkbox" value="checkbox" > </td>
<td></td>
<td class="9font">酱油</td>
<td class="9font"><a href="c_detail.htm" class="link" target="_self">市第三食品厂</a></td>
<td>冰河大道2003号</td>
<td>518031</td>
<td>张三</td>
<td>13037482547</td>
<td>2003-10-15</td>
</tr>
</table>
</div>
</form></body>
</html>
比如这个页面。请问该如何修改。谢谢Top
4 楼lakers_ren(秦始)回复于 2004-02-03 14:48:50 得分 0
var length_table=document.all.table1.rows.length;
for (var i=1;i<length_table;i++) //这里改成i=0
{
if (will_checked){
document.all.table1.rows[i].bgColor="#f2f2f2";
}
else{
document.all.table1.rows[i].bgColor="#ffffff";
}
}
Top
5 楼kaiwen_lv(飘飘荡荡)回复于 2004-02-03 15:33:05 得分 0
老大,不行啊。不是那里出错Top
6 楼seeu1688(kangel)回复于 2004-02-03 16:50:51 得分 20
function clickedbox(tablerow)
{
if (event.srcElement.tagName=="TD")
{
if (document.all("checkbox").length)
{
var oldchecked = document.all("checkbox").item(tablerow.rowIndex-1).checked;
document.all("checkbox").item(tablerow.rowIndex-1).checked = !oldchecked;
}else
{
var oldchecked = document.all("checkbox").checked;
document.all("checkbox").checked = !oldchecked;
}
}
if (document.all("checkbox").length)
{
var newchecked = document.all("checkbox").item(tablerow.rowIndex-1).checked;
}else
{
var newchecked = document.all("checkbox").checked;
}
if (newchecked)
{
tablerow.bgColor="#f2f2f2";
}else{
tablerow.bgColor="#ffffff";
}
}Top
相关问题
- 代码的困扰!!!!
- c/S一段代码,列表框无法取得选择的值?(在线)急盼
- 求asp中关于日期选择源代码,100分高分在线等!!!急!!急!!
- 关于时间选择查询的问题(付代码,高分)希望高手帮忙!在线给分!
- 怎么用代码判断 Listbox1 控件是否有Item 被选择——————在线等待!!!
- 一段代码。在线等
- 一段代码,在线等
- MSIL代码编译成本地代码后的本地文件在哪里?怎么找不到?这问题困扰我好久了。
- 困扰长时间问题,Microsoft Office Xp Web Components中的excel控件可以用代码插入图吗?
- Assertion Failed 问题的困扰, delete pTermData(删除指针),具体代码如下,求助!!!




