最近做个网页,使用Jquery获取选择radio的值.html代码<input name="allow" type="radio" value="0" checked="checked" onclick="rClick()"/>未审核
<input name="allow" type="radio" value="1" onclick="rClick()"/>已审核
//jQuery JavaScript Library v1.4.1
function rClick(){
   alert($("input[name='allow'][checked]").val());
}在不同浏览器中,测试IE8,firefox. rClick()获取的值都是 0;
而IE7内核中,能比较完美的获得0或1.
(为什么说比较完美呢? 测试时发现多数概率能获得当前触发click事件radio的值.但有时候取得的值却并不准确;
出现这个问题,如下我的揣测:如点击value="1"的radio触发click事件后,需要一定的时间去处理以下逻辑:[
取消value="0"的radio的checked属性,并给value="1"的radio赋予checked属性,再Jquery根据xpath获得值]
)(当然我的测试很不严格,大家可以去试试.)为了能严格的获得有状态的事件控件参数,推荐大家rClick(this)方法.直接取得值,保险点.

解决方案 »

  1.   

    <script>
            $(function () {
                $("input[type=radio]").click(function () {
                    alert($("input[name='allow']:checked").val());
                });
            })
        </script>
    测试一下这个
      

  2.   

    //这个代码就很好用了!一般都这么获取的
    <input name="allow" type="radio" value="0"  />未审核
    <input name="allow" type="radio" value="1" />已审核    <script type="text/javascript">

    jQuery('input[type=radio]').click(function(){
    alert(jQuery(this).val());
    }
    );
        </script>
      

  3.   

    $(function () { }中取值肯定没问题. 此问题,主要出现在实时的事件处理方法中的取值.
      

  4.   

    freedom_gooboy的回答,跟我说的使用this意义是一样的.