20

我想检查名为 weekday 并且 value = 1 的输入。我尝试了下面的行。它检查所有工作日。

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

5 回答 5

42

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

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

作为旁注,您应该使用prop()而不是jQuery doc建议并由@tyleha 指出的attr()属性

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

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

$('input[name=weekday][value=1]').prop("checked", true);
于 2013-02-18T13:00:06.067 回答
2

不需要逗号。尝试:

 var checked = $('input[name = weekday][value =1]').attr("checked", "checked");
于 2013-02-18T13:00:27.817 回答
2

试试这个

$('input[name=weekday][value=1]').attr("checked", "checked");
于 2013-02-18T13:00:40.917 回答
1

逗号分隔多个选择器,因此您正在搜索名为“weekday”的输入以及value = 1 的任何类型的元素。

要将这两个条件组合到一个选择器中,只需将它们一个接一个地添加:

$('input[name=weekday][value=1]').attr("checked", "checked");
于 2013-02-18T13:00:59.547 回答
1
<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'); 
于 2017-02-13T20:16:21.160 回答