<input onclick="checked=checked==false?true:false" type=radio>

解决方案 »

  1.   

    但是加上name为什么就不行了阿????
    <input onclick="checked=checked==false?true:false" type=radio name=radio0015>
      

  2.   

    <BODY>
    <input type=radio name=emu onmouseup="if (checked) setTimeout('clearRadio(&quot;emu&quot;)',0)" value=0>
    <input type=radio name=emu onmouseup="if (checked) setTimeout('clearRadio(&quot;emu&quot;)',0)" value=1>
    <input type=radio name=emu onmouseup="if (checked) setTimeout('clearRadio(&quot;emu&quot;)',0)" value=2>
    <input type=radio name=emu onmouseup="if (checked) setTimeout('clearRadio(&quot;emu&quot;)',0)" value=3>
    <br>
    <input type=radio name=test onmouseup="if (checked) setTimeout('clearRadio(&quot;test&quot;)',0)" value=0>
    <input type=radio name=test onmouseup="if (checked) setTimeout('clearRadio(&quot;test&quot;)',0)" value=1>
    <input type=radio name=test onmouseup="if (checked) setTimeout('clearRadio(&quot;test&quot;)',0)" value=2>
    <input type=radio name=test onmouseup="if (checked) setTimeout('clearRadio(&quot;test&quot;)',0)" value=3>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function clearRadio(radioName){
    var elms = document.getElementsByName(radioName);
    for (var i=0;i<elms.length;i++)
    elms[i].checked=false
    }

    //-->
    </SCRIPT>
    </BODY>
      

  3.   

    受阿信的启发:<input onmouseup="checked=!checked;" type=radio name="test">
    <input onmouseup="checked=!checked;" type=radio name="test">
    <input onmouseup="checked=!checked;" type=radio name="test">可以实现双击时取消。这个特性很不错。
      

  4.   

    上面的方法在ns和moz下面通不过,应该这样写:<input ondblclick="checked=false" type=radio name="test">
    <input ondblclick="checked=false" type=radio name="test">
    <input ondblclick="checked=false" type=radio name="test">
      

  5.   

    仅用于IE:<input type=radio name=emu onmouseup="checkRadio()" value=0>
    <input type=radio name=emu onmouseup="checkRadio()" value=1>
    <input type=radio name=emu onmouseup="checkRadio()" value=2>
    <input type=radio name=emu onmouseup="checkRadio()" value=3>
    <br>
    <input type=radio name=test onmouseup="checkRadio()" value=0>
    <input type=radio name=test onmouseup="checkRadio()" value=1>
    <input type=radio name=test onmouseup="checkRadio()" value=2>
    <input type=radio name=test onmouseup="checkRadio()" value=3>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function checkRadio(){
    elm=event.srcElement;
    if (elm.checked) setTimeout("document.all["+elm.sourceIndex
    +"].checked=false",0);
    }
    </SCRIPT>IE,NS,MOZ通用:<input type=radio name=emu onmouseup="checkRadio(this)" value=0>
    <input type=radio name=emu onmouseup="checkRadio(this)" value=1>
    <input type=radio name=emu onmouseup="checkRadio(this)" value=2>
    <input type=radio name=emu onmouseup="checkRadio(this)" value=3>
    <br>
    <input type=radio name=test onmouseup="checkRadio(this)" value=0>
    <input type=radio name=test onmouseup="checkRadio(this)" value=1>
    <input type=radio name=test onmouseup="checkRadio(this)" value=2>
    <input type=radio name=test onmouseup="checkRadio(this)" value=3>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function checkRadio(elm){
    if (elm.checked) setTimeout("clearRadio('"+elm.name+"')",0);
    }
    function clearRadio(radioName){
    var elms = document.getElementsByName(radioName);
    for (var i=0;i<elms.length;i++)
    elms[i].checked=false
    }
    //-->
    </SCRIPT>
      

  6.   

    <script>
    function changeRadio(obj) {      if (obj.checked) {obj.checked = false;}
          else {obj.checked = true;}
          return false;
    }
    </script><input type=radio name=radio0 onclick="return false" onmouseDown="return changeRadio(this)"><br>
      

  7.   

    上面在IE和NS下面可以,在MOZ下面不接受。与上面等效的写法是:<input type=radio name=radio0 onclick="return false" onmouseup="checked=!checked"><br>
    <input type=radio name=radio0 onclick="return false" onmouseup="checked=!checked"><br>
    <input type=radio name=radio0 onclick="return false" onmouseup="checked=!checked"><br>moz就比较顽固了,除了setTimeout之外没想出什么办法可以叫它乖乖的听话。
      

  8.   

    更正,上面的在NS下面有错:radio和checkbox一样可以多选了呵呵。这样做在IE和MOZ下面都可以,但是又对付不了NS:<input type=radio onclick="checked=!this.emu;" onmouseup="this.emu=checked" name=a>
    <input type=radio onclick="checked=!this.emu;" onmouseup="this.emu=checked" name=a>
      

  9.   

    呵呵,再次更正,NS下面,如果没有定义form的话radio就可以多选。终于找到不用setTimeout的通用方法,NS6,MOZ1.3,IE5下面通过:<form>
    <input type=radio onclick="if (navigator.vendor=='')checked=this.emu;else return false" onmouseup="this.checked=this.emu=!checked" name=z>
    <input type=radio onclick="if (navigator.vendor=='')checked=this.emu;else return false" onmouseup="this.checked=this.emu=!checked" name=z>
    <input type=radio onclick="if (navigator.vendor=='')checked=this.emu;else return false" onmouseup="this.checked=this.emu=!checked" name=z>
    <input type=radio onclick="if (navigator.vendor=='')checked=this.emu;else return false" onmouseup="this.checked=this.emu=!checked" name=z>
    </form>navigator.vendor是用来分辨NS和MOZ的,因为他们的appName和appCodeName都一样。
      

  10.   

    简化的写法:
    <form>
    <input type=radio onclick="return navigator.vendor==''?(checked=emu):false" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return navigator.vendor==''?(checked=emu):false" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return navigator.vendor==''?(checked=emu):false" onmouseup="checked=emu=!checked" name=z>
    </form>
    另一种简化的写法:
    <form>
    <input type=radio onclick="return isMoz,checked=emu" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return isMoz,checked=emu" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return isMoz,checked=emu" onmouseup="checked=emu=!checked" name=z>
    </form>
    <SCRIPT>var isMoz=navigator.vendor=='';</SCRIPT>
      

  11.   

    不知还有没有更简练的通用方法?<form>
    <input type=radio onclick="return 1,checked=emu" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return 1,checked=emu" onmouseup="checked=emu=!checked" name=z>
    <input type=radio onclick="return 1,checked=emu" onmouseup="checked=emu=!checked" name=z>
    </form>
      

  12.   

    绑定了label的时候这么写:<BODY>
    <form>
    <label for=test1 onclick="with(getElementById(htmlFor)){checked=emu=!checked}">aa</label>
    <input type=radio name=test id=test1 onclick="return 1,checked=emu" onmouseup="checked=emu=!checked"><label for=test2 onclick="with(getElementById(htmlFor)){checked=emu=!checked}">aa</label>
    <input type=radio name=test id=test2 onclick="return 1,checked=emu" onmouseup="checked=emu=!checked"><label for=test3 onclick="with(getElementById(htmlFor)){checked=emu=!checked}">aa</label>
    <input type=radio name=test id=test3 onclick="return 1,checked=emu" onmouseup="checked=emu=!checked">
    </form>
    </BODY>