CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

一个关于行选择的代码问题,困扰了很久。请大家帮忙--在线

楼主kaiwen_lv(飘飘荡荡)2004-02-03 12:47:20 在 Web 开发 / JavaScript 提问

写了一个函数,对列表进行行选择。点击行则前面的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%">&nbsp;</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(删除指针),具体代码如下,求助!!!

关键词

  • 联系

得分解答快速导航

  • 帖主:kaiwen_lv
  • seeu1688

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo