我有个页面因为一些原因不能分页,页面可以批量修改,里边每条数据有一些 文本框和下拉框等元素。
数据量也不是很大的情况下,在IE8上点击几个复选框,很顺畅,在IE6上选择前一个和后一个中间间隔了1秒多。
代码如下://这两行是内容
<input type="checkbox" name="checkFlagBox" onclick="changeTheFlag(<%=allIndex%>)"/>
<input type="hidden" name="checkFlag">//这个是我调用的方法
function changeTheFlag(index)
{
         alert('1');
var checkBoxes = document.getElementsByName("checkFlagBox");
var checkHids = document.getElementsByName("checkFlag");
if(checkBoxes[index].checked==true)
{
   checkHids[index].value="M0008";
}else
{
   checkHids[index].value="M0009";
}
         alert('2');
}
allIndex是我循环数据时候的索引, 我在IE6中点击一个,要等1秒多才出来alert('1')的弹框。
页面上有3个TAB页,然后每页有30多列80多行数据,每一行有3-8个可编辑列,图我就不上了,最后生成到页面的HTML代码
有1万多行。其他地方没对checkbox做过调用。
请大家给个解决方法!

解决方案 »

  1.   

    <input type="checkbox" name="checkFlagBox" onclick="changeTheFlag(<%=allIndex%>)"/>

    <input type="checkbox" name="checkFlagBox" onclick="changeTheFlag('<%=allIndex%>')"/>試試。
      

  2.   

    請把如何獲取  allIndex 的代碼貼出來。
      

  3.   


    allIndex 是生成数据的索引,页面出来就全部完成了
      

  4.   

      为什么要用下标定位?? 
      直接传checkbox对象啊,onclick="changeTheFlag(this)"  不然每次去找所有的checkbox对象 当然慢了
      

  5.   


    传下标是为了获取 下标对应的<input type="hidden" name="checkFlag">
      

  6.   

    checkbox控件 有id 属性,你的value值直接放到id里就可以了,可以节省hidden控件占用的内存
      

  7.   

    你的代码的css样式需要调整(锁定表格)
    原来是
    THead TH {
    top: expression(document.getElementById("divHeightControl").scrollTop-2); /* IE5+ only */
    z-index: 20;
    }
    请修改成:
    THead TH {
    top: expression(parentNode.parentNode.parentNode.parentNode.scrollTop-2); /* IE5+ only */
    z-index: 20;
    }
    这样会好很多