6000多个?晕,要那么多checkbox干吗!
解决方案 »
- 想在<TEXTAREA></TEXTAREA>例显示html源码,出问题
- 求助JavaScript,实现两个控件的全国省市联动
- 关于页面选择的问题!!!难搞
- 如何实现看完规章制度才能点注册按钮
- 这个年代流行不结贴
- 正则表达式 问题
- javascript如何发出一个向服务器的请求?一直等....
- 谁能帮我把这些vbs函数翻译成jscript的方法或函数?
- 如何获取window.history对象中的历史URL地址,如前一地址,后一地址等?在线等待!
- 怎样判断浏览器所用的编码是简体中文的还是英文的还是日文的或者其他的啊?
- 高手请看:怎样根据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();}