作者pthuang (◢曉筱◤)
看板Ajax
標題[問題] 直接取到checkbox array而非input tag array
時間Thu May 26 19:04:08 2011
我現在寫了一段 JavaScript 作用是全選當頁的 checkbox
以下附上我目前的程式碼
function checkall()
{
var chb = document.getElementsByTagName('input');
for ( var i in chb )
{
if ( chb[i].type == 'checkbox' )
{
chb[i].checked = true;
}
}
}
這樣寫是可以 但是總覺得有辦法不要用到那個 if
感覺那個 if 很多餘啊.... ((思
--
第一次用這種方式上色 上得好累 |||"orz
不知道會不會造成大家不習慣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.198.97
1F:→ pthuang:補充:它只有type屬性 沒有ID也沒有name.... |||"orz 05/26 19:07
2F:推 B9:不用 if 怎麼知道是 checkbox,除非用 jQuery $(":checkbox") 05/26 19:12
3F:→ pthuang:因為之前看到有人把del寫成下面這個樣子 所以才想到會不 05/26 19:18
4F:→ pthuang:會有其它類似的方法可以一次解決掉.... 05/26 19:19
5F:→ pthuang:del("//table[@id='resources']/tbody/tr[2]/td[4]") 05/26 19:19
7F:→ mesak:另外你說的模式是使用 xpath 的概念 05/27 14:42
話說這例子還是有用到class耶 我指的狀況是只有type屬性 @@
而且發現它有個小BUG 如果我先勾選了第一組的第二項
再去點第一組的CheckAll→UncheckAll時 第二項似乎就不被認定在群組內?
同樣的 如果我點CheckAll→取消勾選第二項→UncheckAll→CheckAll
第二項也不會再被選起來.... 囧
※ 編輯: pthuang 來自: 111.251.198.97 (05/27 18:45)
8F:推 mesak:好神奇 XDDDD 05/27 23:11
9F:推 scribeTW:那個Bug因為要用prop來改較正確,attr算是改初始值 05/31 22:22
11F:→ scribeTW:你可以試試Edge版本就可以了。以前用attr算誤用 05/31 22:26
12F:→ scribeTW:講清楚一點,1.6把HTML attribute和DOM property分開了 05/31 22:34
13F:→ mesak:峔銗L版本的好像比較正常 06/01 10:54