web-dev-qa-db-ja.com

jQueryセットラジオボタン

ラジオボタンを設定しようとしています。値またはIDを使用して設定したいです。

これが私が試したことです。

$('input:radio[name=cols]'+" #"+newcol).attr('checked',true);

newcolはラジオボタンのIDです。

たぶん少し編集が整っています。

2つのラジオボックスセットがあり、1つはcols付きでもう1つは行付きです。それで、私はidを使わないという点を見ます。私の悪いだから私は例として持っています:

<input type="radio" name="rows" class="listOfCols" 
   style="width: 50%; " value="Site"></input>

そして

<input type="radio" name="cols" class="listOfCols" 
   style="width: 50%; "  value="Site"></input>

iDを削除したので、正しいIDを設定する必要があります。

121
mike628

あなたのセレクタは、IDがnewcolであるinput:radio[name=cols]要素の子孫(その変数の値)を探します。

代わりにこれを試してください(とにかくIDで選択しているので):

$('#' + newcol).prop('checked',true);

これがデモです。 http://jsfiddle.net/jasper/n8CdM/1/

また、jQuery 1.6以降では、プロパティを変更するための推奨される方法は.prop()です。 http://api.jquery.com/prop

185
Jasper

私はここで答えを見つけました:
https://web.archive.org/web/20160421163524/http://vijayt.com/Post/Set-RadioButton-value-using-jQuery

基本的に、ラジオボタンを1つチェックしたい場合は、値を配列として渡さなければなりません。

$('input:radio[name=cols]').val(['Site']);
$('input:radio[name=rows]').val(['Site']);
73
Chococroc

あなたのセレクタで、あなたは与えられたIDであなたのラジオボタンのいくつかのネストされた要素を取得しようとしているようです。ラジオボタンをチェックしたい場合は、セレクタでこのラジオボタンを選択してください。

$('input:radio[name="cols"]').attr('checked', 'checked');

これは、マークアップに次のラジオボタンがあることを前提としています。

<input type="radio" name="cols" value="1" />

ラジオボタンにIDがある場合:

<input type="radio" name="cols" value="1" id="myradio" />

あなたは直接IDセレクタを使うことができます:

$('#myradio').attr('checked', 'checked');
15
Darin Dimitrov

次のコードを試すことができます。

$("input[name=cols][value=" + value + "]").attr('checked', 'checked');

これは、指定されたラジオ列と値に対してチェックされる属性を設定します。

11
punita.gosar

なぜあなたは'input:radio[name=cols]'が必要なのですか。あなたのhtmlを知らないでください、しかし、idがユニークであると仮定すれば、あなたは単にこれをすることができます。

$('#'+newcol).prop('checked', true);
8
elclanrs

これを試して:

$("#" + newcol).attr("checked", "checked");

attr("checked", true)に問題がありましたので、代わりに上記を使用する傾向があります。

また、あなたがIDを持っているなら、あなたは選択のためにその他のものを必要としません。 IDは一意です。

6
The Awnry Bear

.filter()を使用しても機能し、id、value、nameに対して柔軟です。

$('input[name="cols"]').filter("[value='Site']").attr('checked', true);

このブログで見られます

2
dhc

newcolはラジオボタンのIDなので、以下のように使用することができます。

$("#"+newcol).attr('checked',true);
2

以前の答えを組み合わせる:

$('input[name="cols"]').filter("[value='Site']").click();
2
Graham Laight

あなたは単に使用することができます:

$("input[name='cols']").click();
0
Markoj

選択された答えはこの場合うまくいきます。

しかし、問題はradiogroupとdynamic idに基づいて要素を見つけることであり、答えは表示されたラジオボタンに影響を与えないままにすることもできます。

この行は、画面に変更を表示している間に要求された内容を正確に選択します。

$('input:radio[name=cols][id='+ newcol +']').click();
0
me_