6000多个?晕,要那么多checkbox干吗!
解决方案 »
- 请问:JaVaScript如何让字体变颜色?
- js操作flash 有经验的麻烦说一下,急
- 大家都是怎么调试程序的啊,我快被JS折磨死了
- 请教一个Microsoft.XMLHTTP 返回的值的执行问题,在线等
- Js中一个关于prototype的问题!!
- 同一页面中实现播放器“换台”功能
- 如何得到网页中iframe的所有的内容。
- ***没有人对web菜单感兴趣吗*** 最好的web菜单,竟然存在严重的BUG,急着等米下锅,请版主和菜单高手关注
- 求助各位javascript高手!!
- 网页javascript问题
- 高手请看:怎样根据checkBox动态的改变文本框的值?
- 一个困扰很久的问题,如何onkeydown事件中捕获当前输入的字符!
何谓"都放在客户端生成"?
是把数据全部读取出来放在客户端,如赋给一数组,然后生成checkbox组?
问题是如果不用
a.asp
_____
<%
dim strstr
strstr = request("checkbox1")
%>
alert("<%=strstr%>");
这样的方法,而是在客户端用javascript循环读取checkbox组,选出选中的checkbox时,会非常慢.....
全部没选的情况下,速度会快一百倍左右,
另:如果选中很多还是会导致有些慢的话,就不要用str+=这种方式来组合字符串function Button1_onclick() {
var d1=new Date();
var strResult;
strResult = '';
var checkboxObjs=framep3.document.forms[0].elements;
var elelen=checkboxObjs.length;
for(var i=0;i<elelen;i++)
{
if(checkboxObjs[i].checked)
{
strResult = strResult + ','+checkboxObjs[i].value;
}
}
alert(strResult);
//window.close();}
这种方法我试过的,就是当用户把以前选中的checkbox改为不选时,就要从strResult中删除掉以前选的checkbox的value,这样的话效率虽然不是几高,不过对比循环checkbox组来说,还是可以的
是指我给你的代码吗?
我给你的代码并没有改变你的思路,只是把循环里每次都要取的
framep3.document.forms[0].elements
先提出来,
即:var checkboxObjs=framep3.document.forms[0].elements;
所以会提高效率。我没有“就是当用户把以前选中的checkbox改为不选时,就要从strResult中删除掉以前选的checkbox的value”这样的想法。不清楚你为什么这么想。
刚才试过,当用户选取不多时
效率可以。哈,原来是var checkboxObjs=framep3.document.forms[0].elements;
这个原因
非常感谢!!!其实我是说另一种方法,是即时响应checkbox的选取,把选取的value合成一字符串,如果在选的过程中用户取消了前面选取的checkbox,就要从字符串中把那个value删掉,这样来达到目的,不过这样的效率好像也不是很好
var d1=new Date();
var strResult="";
var checkboxValues=new Array();
var tempLength=0;
var checkboxObjs=framep3.document.forms[0].elements;
var elelen=checkboxObjs.length;
for(var i=0;i<elelen;i++)
{
if(checkboxObjs[i].checked)
{
checkboxValues[tempLength++]=checkboxObjs[i].value;
}
}
alert(new Date()-d1);
strResult=checkboxValues.join(",");
alert(strResult);
//window.close();}