简单人生
幻想指点江山,梦中激扬文字
首页
新随笔
联系
聚合
管理
posts - 162, comments - 537, trackbacks - 0
JS全选checkBox最佳方案。原创哦
<
input
type
="button"
name
=""
value
="不计算长度"
onclick
="a()"
>
<
input
type
="button"
name
=""
value
="全选"
onclick
="b()"
>
<
input
type
="button"
value
="缓存"
onclick
="c()"
>
<
input
type
="checkbox"
name
="test[]"
value
="0"
>
测试测试
<
br
>
<
script
language
="JavaScript"
>
<!--
var
ca
=
new
Array();
function
a()
{
var
m
=
document.getElementsByName('test[]');
for
(
var
i
=
0
; i
<
m.length ; i
++
)
{
m[i].checked
==
true
?
m[i].checked
=
false
: m[i].checked
=
true
;
}
}
function
b()
{
var
m
=
document.getElementsByName('test[]');
var
l
=
m.length;
for
(
var
i
=
0
; i
<
l; i
++
)
{
m[i].checked
==
true
?
m[i].checked
=
false
: m[i].checked
=
true
;
}
}
function
c()
{
if
(ca.length
==
0
)
{
ca
=
cache();
}
cl
=
ca.length;
for
(
var
i
=
0
; i
<
cl; i
++
)
{
ca[i].checked
==
true
?
ca[i].checked
=
false
: ca[i].checked
=
true
;
}
}
function
cache()
{
var
m
=
document.getElementsByName('test[]');
var
cache
=
new
Array();
var
l
=
m.length;
for
(
var
i
=
0
; i
<
l; i
++
)
{
cache[i]
=
m[i];
}
return
cache;
}
//
-->
</
script
>
黑黑,至于那个input type="checkbox"的,你们就尽量复制吧,尽量不要超过1W,否则。。别怪我没有提醒你,当然了,也不需要把浏览器关掉,跑到外面抽根烟再回来就行了。
所以,我们要切实的记住,反正数组有长度的,坚决不能放在循环里面,而是先将这个长度取出来当成变量。PHP里也一样,循环数组的时候,先count数组的长度比较好。
当然了,我第三个采用了缓存,速度也是非常快的,比长度取好后再进行计算更快,因为连一次都不用取了(当然,除了第一次),全部扔给客户端了。
上面的例子还是比较方便的,因为,checkbox的 name值都一样,如果不一样怎么办???
只能这样
<
script
language
="JavaScript"
>
<!--
function
check()
{
var
inputs
=
document.getElementsByTagName('input');
var
inputsLen
=
inputs.length;
for
(
var
i
=
0
; i
<
inputsLen ; i
++
)
{
if
(inputs[i].type.toLowerCase()
==
'checkbox')
{
inputs[i].checked
==
true
?
inputs[i].checked
=
false
: inputs[i].checked
=
true
;
}
}
}
//
-->
</
script
>
缓存方法同上,这里就不多讨论了
请求加精……唉。没地方加精。
posted on 2007-10-17 17:44
简单人生
阅读(3242)
评论(9)
编辑
收藏
引用
所属分类:
Loving PHP
FeedBack:
#
re: JS全选checkBox最佳方案。原创哦
2007-10-17 17:56 |
991
顶!呵呵。
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-17 19:20 |
991
var l = m.length; //牛X语句
以前没有刻意去验证这两种写法有多大差距。
$num = getCount();
for($i=0;$i<$num;$i++){} 与
for($i=0;$i<getCount();$i++){}的区别
在这个例子很好体现。
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-17 19:25 |
991
一不小心多复制了6w多,
b()也就2秒多,
c()一秒多。
呵呵。
加精~!
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-17 19:43 |
简单人生
如果名字不一样呢?如果NAME名字不一样,你只能用TagName的时候,你就会知道这个差距是多大了……
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-17 21:38 |
简单人生
又有朋友和我讲……完全可以
m[i].checked = !m[i].checked;
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-23 10:27 |
十三郎
不知道怎么说,连最基本的功能实现都不是太好。
假如你选择一个,再点击全选,全选了吗?
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-10-29 13:11 |
简单人生
@十三郎
那就是复选了。因为我没有判断它是否现在选中,我这个只是为了说明一下,如果同时选中这么多checkbox框的耗时情况。然后说明一下,写代码稍有一点规范性。本身我的代码中就是偷懒写法。。黑黑
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦
2007-12-17 07:03 |
高原
真是学到东西了.不错,以后写程序要注意这方面的问题.
回复
更多评论
#
re: JS全选checkBox最佳方案。原创哦[未登录]
2009-04-09 11:56 |
小可
学习了
回复
更多评论
刷新评论列表
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
相关链接:
相关文章:
生成静态页面的函数,php爱好者站推荐
[摘]PHP5.1时区设置
JS全选checkBox最佳方案。原创哦
关于PHP正则的取反和逻辑思想的问题
FOR IIS6 的 fastCGI也推出了
为文件名添加诸如_thumb这样的标记
apache rewrite 详解
DBF与MYSQL互转(转自村子http://www.phpx.com/happy/archiver/tid-63834.html)
SQL语句导入导出大全(转)
数据库设计时由于字符集的关系而应当注意的几个小点
<
2009年7月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(16)
给我留言
查看公开留言
查看私人留言
随笔分类
(73)
LINUX(1)
Loving PHP(42)
N-GAGE QD(4)
烂点子(4)
生活(10)
程序人生(4)
软件消息(8)
文章分类
(2)
Learn Php(2)
相册
Beyond
life
玩图
友逹們
NS团队
关注PHP,关于程序,团队工作,WEB开发,2.0技术研究
st.MadMaN的勃客
BT的域名,BT的勃客
国民下载
迅雷下载,国民下载,www.gmking.net,文本数据库,MYSQL数据库,缓存,缓冲
幻影飞狐的BLOG
狐狸的BLOG
来须苍真
小来的日记本
窝窝的窝
团队成员walkerLee的BLOG。
简单中国
简单中国,人生简单,PHP研发,ajax技术研究,WEB2.0探讨
自恋的奥特慢
关键字:PP、奥特慢、小帅歌、胖胖、自恋、凹凸曼
蔡依林博客
蔡依林博客
音乐CD我最爱
我爱CD,我爱音乐,音乐任我行
搜索
最新评论
1. re: PHP的伪重载
飞天教主,法力无边,千秋万载,一统江湖
--小诚
2. re: 粗看文字编辑软件的发展
评论内容较长,点击标题查看
--TS,MPEG2,dvbc专家
3. re: 《精通PHP+MYSQL应用开发》纠错
谢谢。
--健康
4. re: JS全选checkBox最佳方案。原创哦[未登录]
学习了
--小可
5. re: QD 常见问题6456copy from younet]
54654
3465
--5784
评论排行榜
1. 《精通PHP+MYSQL应用开发》纠错(25)
2. CNNIC和3721不得不说的故事(22)
3. 今天,TM怎么了?(14)
4. 推荐一个PHP IDE :PHPEDIT(14)
5. 丢人的帮忙[网卡灯不亮](10)