2007年9月19日 星期三

若選擇全部底下的某個checkbox沒check,則把checkbox 選擇全部的check拿掉

/* 若選擇全部底下的某個checkbox沒check,則把checkbox 選擇全部的check拿掉
 參數1:form的Id
 參數2:checkbox名稱
 參數3:選擇全部的checkbox名稱*/
function select_all_remove(fm, chk_name, chkall_name){
  var frm = document.getElementById(fm);
  var counts = frm.elements[chk_name].length; //找出物件

  if (typeof(counts) == "undefined"){ //指只有一個checkbox
    if (frm.elements[chk_name].checked) {
      document.getElementById(chkall_name).checked = frm.elements[chk_name].checked;
    }
    else {
      document.getElementById(chkall_name).checked = false; //若checkbox不選,則選擇全部的check要拿掉
      }
    }
   else {
    if (counts > 0 ){
        for (var i=0; i< counts; i++){
          if (frm.elements[chk_name][i].checked == false){
             document.getElementById(chkall_name).checked = false; //若有某個checkbox不選,則選擇全部的check要拿掉
             return false;
          }
          else {
             document.getElementById(chkall_name).checked = true;            }
        }
     }
     else {
        document.getElementById(chkall_name).checked = false;
     }
   }
}

沒有留言: