JS根据类型和名称选择输入

JS select input by type and name

本文关键字:选择 输入 类型 JS      更新时间:2023-09-26

我有这个HTML标记:

<input type="text" name="name1" class="stat" value="">
<input type="checkbox" name="name1" value="">
<input type="text" name="name2" class="stat" value="">
<input type="checkbox" name="name2" value="">
<input type="text" name="namei" class="stat" value="">
<input type="checkbox" name="namei" value="">
where i = 1,2,3, ... n

问:如何选择名称为2的复选框?

这是正确的方式吗?

$('input[name="name2"]').find('input[type="checkbox"]').attr("disabled");

您可以同时使用多个属性选择器。您的find不起作用,因为checkbox是文本input的兄弟,而不是子。试试这个:

$('input[name="name2"][type="checkbox"]').prop("disabled");

请注意,这将是非常缓慢的性能。一个更好的解决方案是在复选框本身上使用classid属性并以此进行选择。此外,您应该使用prop来检索元素的属性。

最后,如果要设置disabled属性,则需要为prop方法提供第二个参数:

$('input[name="name2"][type="checkbox"]').prop("disabled", true); // disables the element

find()选择匹配元素的降序元素。

在这里,复选框和输入框是同级的。

尝试:

$('input[type="text"][name="name2"]').next().attr("disabled","disabled");

$('input[type="checkbox"][name="name2"]').attr("disabled","disabled");