ラジオボタンを設定しようとしています。値または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を設定する必要があります。
あなたのセレクタは、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
私はここで答えを見つけました:
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']);
あなたのセレクタで、あなたは与えられた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');
次のコードを試すことができます。
$("input[name=cols][value=" + value + "]").attr('checked', 'checked');
これは、指定されたラジオ列と値に対してチェックされる属性を設定します。
なぜあなたは'input:radio[name=cols]'
が必要なのですか。あなたのhtmlを知らないでください、しかし、idがユニークであると仮定すれば、あなたは単にこれをすることができます。
$('#'+newcol).prop('checked', true);
これを試して:
$("#" + newcol).attr("checked", "checked");
attr("checked", true)
に問題がありましたので、代わりに上記を使用する傾向があります。
また、あなたがIDを持っているなら、あなたは選択のためにその他のものを必要としません。 IDは一意です。
.filter()
を使用しても機能し、id、value、nameに対して柔軟です。
$('input[name="cols"]').filter("[value='Site']").attr('checked', true);
( このブログで見られます )
newcol
はラジオボタンのIDなので、以下のように使用することができます。
$("#"+newcol).attr('checked',true);
以前の答えを組み合わせる:
$('input[name="cols"]').filter("[value='Site']").click();
あなたは単に使用することができます:
$("input[name='cols']").click();
選択された答えはこの場合うまくいきます。
しかし、問題はradiogroupとdynamic idに基づいて要素を見つけることであり、答えは表示されたラジオボタンに影響を与えないままにすることもできます。
この行は、画面に変更を表示している間に要求された内容を正確に選択します。
$('input:radio[name=cols][id='+ newcol +']').click();