2013-02-18 6 views

答えて

22

両方の条件を同じ要素に適用する場合は、カンマを使用しないでください。側として

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

jQuery docによって提案されたと@tylehaで指摘したように、あなたがプロパティためprop()の代わりattr()を使用する必要があります注意してください。

.attr()メソッドは、設定されていない属性 に対して、jQuery 1.6からundefinedを返します。 などのDOMプロパティを取得および変更するには、フォーム要素のチェック、選択、または無効の状態を .prop()メソッドを使用します。

.prop(propertyName, value)を使用すると、checkedプロパティを次のように設定できます。

$('input[name=weekday][value=1]').prop("checked", true); 
+0

このようなDOMプロパティを確認するには、 '.attr'の代わりに' .prop'を使用する必要があります:http://api.jquery.com/attr/ '.prop("チェックしてください ")は、トリックを行う必要があります – tyleha

+0

ありがとう@tyleha、あなたはここでprop()を使用する権利です。しかし、.prop( "checked")は設定の代わりにプロパティの値を取得します。プロパティを設定するには.prop( "checked"、true);使用されます。 – Adil

1

カンマの必要はありません。試してみてください:

var checked = $('input[name = weekday][value =1]').attr("checked", "checked"); 
1

あなたは= 1

値を持つ任意の型の「平日」要素の名前の入力を探していたので、カンマは、複数のセレクタを分離し、この

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

で試してみてください1つのセレクタで2つの条件を組み合わせるには、それぞれを次々に追加します。

$('input[name=weekday][value=1]').attr("checked", "checked"); 
0
<input type="radio" name="some[thing]" value="one"> 
<input type="radio" name="some[thing]" value="two"> 
<input type="radio" name="some[thing]" value="three"> 
<input type="radio" name="some[thing]" value="four"> 
<input type="radio" name="some[thing]" value="five"> 
<input type="radio" name="some[thing]" value="six"> 

alert('1'); 
$("input[value='four'][name='some\\[thing\\]']").attr("checked",true); 
alert('2'); 
$("input[value='four'][name='some\\[thing\\]']").attr("checked",false); 
alert('3'); 
関連する問題