有人問說..可否做到點選某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