天天看點

javascript應用:實作複選框全選/全不選切換

    經常有人問起在網頁裡實作多選框的全選功能,今天我就寫了這麼一個DEMO

<input type=checkbox name=mm value=a οnclick="checkItem(this, 'mmAll')"><br>

<input type=checkbox name=mm value=b οnclick="checkItem(this, 'mmAll')"><br>

<input type=checkbox name=mm value=c οnclick="checkItem(this, 'mmAll')"><br>

<input type=checkbox name=mm value=d οnclick="checkItem(this, 'mmAll')"><br>

<input type=checkbox name=mm value=e οnclick="checkItem(this, 'mmAll')"><br><br>

<input type=checkbox name=mmAll οnclick="checkAll(this, 'mm')">全選與不全選的切換

<script language=Javascript>

function checkAll(e, itemName)

{

  var aa = document.getElementsByName(itemName);

  for (var i=0; i<aa.length; i++)

   aa[i].checked = e.checked;

}

function checkItem(e, allName)

{

  var all = document.getElementsByName(allName)[0];

  if(!e.checked) all.checked = false;

  else

  {

    var aa = document.getElementsByName(e.name);

    for (var i=0; i<aa.length; i++)

     if(!aa[i].checked) return;

    all.checked = true;

  }

}

</script>

    ps:(當然若那個全選框是其它的控件比如是一個按鈕,或者一個連結什麼的話,那複選框裡的 checkItem 點選事件可以去掉,以免出錯)

繼續閱讀