我想检查命名为weekday并具有值= 1的输入。我尝试了下面的行。它检查所有工作日。jquery:选择具有给定名称和值的输入
$('input[name = weekday], [value =1]').attr("checked", "checked");
我想检查命名为weekday并具有值= 1的输入。我尝试了下面的行。它检查所有工作日。jquery:选择具有给定名称和值的输入
$('input[name = weekday], [value =1]').attr("checked", "checked");
请勿使用逗号将两个条件应用于同一元素。
$('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);
不需要逗号。尝试:
var checked = $('input[name = weekday][value =1]').attr("checked", "checked");
与此
$('input[name=weekday][value=1]').attr("checked", "checked");
逗号分隔多个选择尝试,所以你要搜索命名为“平日” 投入与价值= 1
任何类型的元素要在一个选择器中结合这两个标准,只需将它们相加即可:
$('input[name=weekday][value=1]').attr("checked", "checked");
<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');
您应该(需要?)使用'.prop'而不是'.attr'来检查这些DOM属性:http://api.jquery.com/attr/ 所以只需要'.prop(“检查“)'应该做的诀窍 – tyleha 2014-12-31 18:36:42
谢谢@tyleha,你是正确的使用prop()在这里。但.prop(“检查”)将获得属性的值而不是设置。设置属性.prop(“checked”,true);将会被使用。 – Adil 2015-01-01 04:26:01