各グループの最初のラジオボタンを確認したいと思います。ただし、無効になっているラジオボタンがあるため、スクリプトはそれらを無視して、無効になっていない次のボタンに移動する必要があります。
私はこのようなことを書きましたが、うまくいきません:
$(document).ready(function(){ if($( "input ['radio'])。is( ':disabled')) { $( this).attr( 'checked'、false); } else { $(this).attr( 'checked'、true); } });
どうもありがとう
ボタンが名前属性でグループ化されている場合は、次を試してください。
$("input:radio[name=groupName][disabled=false]:first").attr('checked', true);
それらが親コンテナによってグループ化されている場合:
$("#parentId input:radio[disabled=false]:first").attr('checked', true);
$("input:radio[name=groupX]:not(:disabled):first")
これにより、グループから最初の無効化されていないラジオボタンが表示されます...
以下はあなたが望むことをします:
$(document).ready(
function(){
$('input:radio:first-child').attr('checked',true);
}
);
デモ: JS Bin 。
<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/
最初の答えをテストしましたが、解決しません。次の文を使用する必要がありました。
jQuery("input:radio[name=groupName]:visible")[0].checked=true;
これは、name = groupNameの最初の表示ラジオボタンをチェックします
これを試して :
$("input:radio:not(:disabled)").attr("checked", true);
グループ内の最初のラジオボタンのみをチェックするには、次のことができます。
$("parentelement input:radio:not(:disabled):first-child").attr("checked", true);