2013-02-18 66 views

回答

22

请勿使用逗号将两个条件应用于同一元素。

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

作为一个侧面说明,你应该使用prop()而不是attr()性能jQuery doc建议和@tyleha指出。

从jQuery 1.6开始,对于尚未设置的属性 ,.attr()方法返回undefined。要检索和更改DOM属性(如 )表单元素的选中状态,选中状态或禁用状态,请使用 .prop()方法。

您可以使用.prop(propertyName, value)来设置checked属性,如下所示。

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

您应该(需要?)使用'.prop'而不是'.attr'来检查这些DOM属性:http://api.jquery.com/attr/ 所以只需要'.prop(“检查“)'应该做的诀窍 – tyleha 2014-12-31 18:36:42

+0

谢谢@tyleha,你是正确的使用prop()在这里。但.prop(“检查”)将获得属性的值而不是设置。设置属性.prop(“checked”,true);将会被使用。 – Adil 2015-01-01 04:26:01

1

不需要逗号。尝试:

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

与此

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

逗号分隔多个选择尝试,所以你要搜索命名为“平日” 投入与价值= 1

任何类型的元素要在一个选择器中结合这两个标准,只需将它们相加即可:

$('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'); 
相关问题