用JQuery检查第一个单选按钮

时间:2010-10-20 12:21:06

标签: jquery radio-button checked

我想查看每组的第一个单选按钮。但是有一些单选按钮被禁用,因此脚本应该忽略它们并转到下一个非禁用按钮。

我写了类似的东西,但它不起作用:

$(document).ready(function(){
if ($("input['radio']).is(':disabled'))
    {  
        $(this).attr('checked', false );
    }
else
    {
        $(this).attr('checked', true );
    }
});

非常感谢

8 个答案:

答案 0 :(得分:59)

如果您的按钮按名称属性分组,请尝试:

$("input:radio[name=groupName][disabled=false]:first").attr('checked', true);

如果它们按父容器分组,则:

$("#parentId input:radio[disabled=false]:first").attr('checked', true);

答案 1 :(得分:17)

$("input:radio[name=groupX]:not(:disabled):first")

这应该为您提供组中的第一个非禁用单选按钮...

答案 2 :(得分:8)

以下是您想要的:

$(document).ready(
  function(){
    $('input:radio:first-child').attr('checked',true);
  }
  );

演示:JS Bin

答案 3 :(得分:3)

<input type="radio" name="r1"><br>
<input type="radio" name="r1"><br>
<hr>
<input type="radio" name="r2"><br>
<input type="radio" name="r2"><br>
<input type="radio" name="r2"><br>

<script>
$(function(){
    //removed duplicates form the following array
    $(jQuery.unique(
        //create an array with the names of the groups
        $('INPUT:radio')
            .map(function(i,e){
                return $(e).attr('name') }
            ).get()
    ))
    //interate the array (array with unique names of groups)
    .each(function(i,e){
        //make the first radio-button of each group checked
        $('INPUT:radio[name="'+e+'"]:visible:first')
            .attr('checked','checked');
    });
});
</script>

jsfiddle = http://jsfiddle.net/v4auT/

答案 4 :(得分:2)

我测试了第一个答案,但无法解决。我必须使用以下句子:

jQuery("input:radio[name=groupName]:visible")[0].checked=true;

这会检查名称为groupName的第一个可见单选按钮

答案 5 :(得分:1)

试试这个:

 $("input:radio:not(:disabled)").attr("checked", true);

要检查组中的第一个单选按钮,您可以

 $("parentelement input:radio:not(:disabled):first-child").attr("checked", true);

答案 6 :(得分:0)

对2020年进行一些升级。官方文档建议使用“ first()”和“ prop()”

$("input[name='groupName'][disabled=false]").first().prop("checked", true);

答案 7 :(得分:0)

这会默认选中第一个收音机

jQuery("input:radio[name=groupName]").first().click()