回答:
助けを借りて属性セレクタあなたは、対応する値を持つ入力要素を選択することができます。次に、以下を使用して属性を明示的に設定する必要があります.attr
。
var value = 5;
$("input[name=mygroup][value=" + value + "]").attr('checked', 'checked');
jQuery 1.6以降.prop
では、ブール値を使用してメソッドを使用することもできます(これが推奨されるメソッドです)。
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
まず、1つのラジオボタングループの下にあるラジオボタンからチェックされた属性を削除する必要があることを思い出してください。そうすると、そのラジオボタングループのラジオボタンの1つにチェックされたプロパティ/属性を追加できます。
1つのラジオボタングループのすべてのラジオボタンからチェックされた属性を削除するコード-
$('[name="radioSelectionName"]').removeAttr('checked');
.is
ここでは役に立ちませんが、私は同意し.prop
ます。それは当時利用できませんでした;)私の答えを更新します。ありがとう!
.val()
ラジオまたはチェックボックスグループでの値の設定をサポートすることを示しています。この回答の方法は技術的には機能しますが、迂回的であり、読みにくく、覚えられません。
ラジオとチェックボックスをチェックするより良い方法があります。生の値の代わりに値の配列を valメソッドに渡す必要があります
注:値のみを(配列内に含まずに)単に渡すと、「mygroup」のすべての値がその値に設定されます。
$("input[name=mygroup]").val([5]);
これがどのように機能するかを説明するjQueryのドキュメントは次のとおりです。http://api.jquery.com/val/#val-value
そして .val([...])
また、フォームのような要素で動作し<input type="checkbox">
、<input type="radio">
、と<option>
のsの内部<select>
。
配列の要素の1つと一致する値を持つ入力とオプションがチェックまたは選択され、配列の要素の1つと一致しない値を持つ入力はチェック解除または選択解除されます
この動作を示すフィドル:https : //jsfiddle.net/92nekvp3/
var key = "Name_radio";
var val = "value_radio";
var rdo = $('*[name="' + key + '"]');
if (rdo.attr('type') == "radio") {
$.each(rdo, function (keyT, valT){
if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null))
{
$('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true);
}
})
}
$('input[name="mygroup"]').val([5])