Проверьте первый переключатель с помощью JQuery

Я хочу проверить первый переключатель каждой группы. Но есть некоторые переключатели, которые отключены, поэтому script должен игнорировать их и перейти к следующей не отключенной кнопке.

Я написал что-то вроде этого, но это не работает:

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

Спасибо большое

24
20 окт. '10 в 15:21
источник поделиться
5 ответов

Если ваши кнопки сгруппированы по их атрибуту имени, попробуйте:

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

Если они сгруппированы родительским контейнером, то:

$("#parentId input:radio[disabled=false]:first").attr('checked', true);
45
20 окт. '10 в 15:34
источник
$("input:radio[name=groupX]:not(:disabled):first")

Это должно дать вам первую отключенную отключаемую кнопку от группы...

16
20 окт. '10 в 15:28
источник

Ниже делается то, что вы хотите:

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

Демо на: JS Bin.

8
20 окт. '10 в 15:27
источник
<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/

3
20 окт. '10 в 15:44
источник

Попробуйте следующее:

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

Чтобы проверить первый переключатель только в группе, вы можете

 $("parentelement input:radio:not(:disabled):first-child").attr("checked", true);
0
20 окт. '10 в 15:26
источник

Посмотрите другие вопросы по меткам или Задайте вопрос