Gernot Back: Radiobutton abwählen/demarkieren/unchecken

Beitrag lesen

Hallo Christian,

hm, das geht doch auch viel einfacher:

function uncheck(r)
{
   if(typeof(r.c) == "undefined") r.c = r.checked;
   r.c = !r.c;
   r.checked = !r.c;
}
</script>

<input type="radio" onclick="uncheck(this)">

Außerdem funktioniert deine Lösung bei mir auch erst beim zweiten Klick.

Wenn man bei deiner Lösung zuerst den ersten, dann den zweiten und dann wieder den ersten Radiobutton anwählt, ist auch keiner mehr angewählt, was ja wohl nicht sein soll.

Meine Lösung:

  
function checkUncheck(obj) {  
   myRadioGroup = obj.form[obj.name];  
   if (myRadioGroup.checkedBefore) {  
      for (i=1; i<=myRadioGroup.length; i++ ){  
          if(myRadioGroup.checkedBefore == i){  
             myRadioGroup[i-1].checked = false;  
             myRadioGroup.checkedBefore = null;  
          }  
      }  
   } else {  
      for (i=0; i<myRadioGroup.length; i++ ){  
          if(obj==myRadioGroup[i]){  
             myRadioGroup.checkedBefore = i+1;  
             return;  
          }  
      }  
   }  
}  

Gruß Gernot