Jquery 按类型和名称列出的目标输入(选择器)

Jquery 按类型和名称列出的目标输入(选择器),jquery,Jquery,我需要将某些复选框输入更改为页面上某些但不是所有输入的隐藏输入 <input type="checkbox" name="ProductCode"value="396P4"> <input type="checkbox" name="ProductCode"value="401P4"> <input type="checkbox" name="ProductCode"value="F460129"> 下面的jquery代码仅按类型选择输入,这会导致所

我需要将某些复选框输入更改为页面上某些但不是所有输入的隐藏输入

<input type="checkbox" name="ProductCode"value="396P4"> 
<input type="checkbox" name="ProductCode"value="401P4"> 
<input type="checkbox" name="ProductCode"value="F460129">

下面的jquery代码仅按类型选择输入,这会导致所有复选框都更改为隐藏输入。是否有方法将输入类型=“checkbox”和名称=“ProductCode”都检查为选择器,以便我可以专门针对我要更改的输入

$("input[type='checkbox']").each(function(){
var name = $(this).attr('name'); // grab name of original
var value = $(this).attr('value'); // grab value of original
var html = '<input type="hidden" name="'+name+'" value="'+value+'" />';
$(this).after(html).remove(); // add new, then remove original input
});
$(“输入[type='checkbox'])。每个(函数(){
var name=$(this.attr('name');//获取原始文件的名称
var value=$(this.attr('value');//获取原始值
var html='';
$(this).after(html).remove();//添加新输入,然后删除原始输入
});

您可以通过以下方式组合属性选择器:

$("[attr1=val][attr2=val]")...
所以一个元素必须同时满足这两个条件。当然,你可以使用这个超过两个。另外,不要执行
[type=checkbox]
。jQuery对此有一个选择器,即最终结果是:

$("input:checkbox[name=ProductCode]")...
但是属性选择器速度较慢,因此建议尽可能使用ID和类选择器。您可以将标记更改为:

<input type="checkbox" class="ProductCode" name="ProductCode"value="396P4"> 
<input type="checkbox" class="ProductCode" name="ProductCode"value="401P4"> 
<input type="checkbox" class="ProductCode" name="ProductCode"value="F460129">
你想要一个

$("input[type='checkbox'][name='ProductCode']").each(function(){ ...

不过,最好使用CSS类来识别要选择的元素,因为许多现代浏览器都实现了
document.getElementsByClassName
方法,该方法将用于选择元素,并且比通过
name
属性选择要快得多

input[type='checkbox', name='ProductCode']

这就是CSS方法,我几乎可以肯定它在jQuery中会起作用。

这两种方法都适用于我,但我使用了第二种方法。THX,我还有一个问题,但我会提出一个新问题。显然这也有效,但我只能给一个人正确答案的信用。:)我想的一件事是,我不能按类设置目标,因为除非我添加一个类,否则我无法访问标记,这有什么意义。但是Thx!!!
$("input:checkbox[name='ProductCode']").each(function(){ ...
input[type='checkbox', name='ProductCode']