有人问说..可否做到点选某CheckBox后,来达到全选及全取消的效果。若只是要做到这样,那未免也太简单了点,所以我就多加了一个反向选取的效果。
先来看下列的Code:
在Body里面只是加了几个CheckBox及三个Button。每一个Button的Click都会触发各自的方法。每个CheckBox的name都是相同的。
先来看全选这个方法。
我用document.all.namedItem("c1")来取得表单里面name为c1的CheckBox的集合checkItem。再来就是跑个回圈一一把checkItem阵列中每一个的checked值设成true即可。
全取消的做法也是同全选,只是要把checked值设成false。
不过酱的功能好像还蛮常见到的,像是Yahoo的信箱就有提供这样全选的功能了,但若只是做到全选或是全取消的话,好像还不够用,所以我还多加了一个反向选取的功能。
什么是反向选取?其实这只是种比较贴心的应用方法,比如我们有10个CheckBox选项,可是在我们选完第1,3,5,7,9的选项后,却又想改选为第2,4,6,8,10选项时怎样办?先把1,3,5,7,9点掉再勾选2,4,6,8,10吗?这样实在太不方便了。所以,反项选取就是把勾选的变成未勾选;未勾选的变成勾选。酱子只要点一下反向选取就能达到上面范例的目的了。
再来看反向选取的Code:
反向选取的做法其实就跟全选/全取消是一样,只是多加了个判断,若是checked值为true时就改为false;若checked值为false时就改为true。只是我在指定值时用的一个惊叹号(!),这表示相反的意思。怎样,并不难吧。
其实这几个方法没用到什么比较难的语法,只要知道原理就能做出来哩。
范例浏览:
http://abgne.myweb.hinet...0002.html以上内容于2005/08/31发表在小弟的Blog里
http://blog.xuite.net/abgne/diary1/3855816