如何更改属性的每个值使用eq()jquery

时间:2016-12-05 03:57:12

标签: javascript jquery

嘿伙计们在尝试在jquery中使用eq()方法时遇到了一些问题。

我有一个像这样的数组

data = [11, 12, 13, 14, 15]

在我的html代码中,我有一些带有此详细信息的输入标记

<input type="text" value="1" name="sku[sku_id][quantity]">
<input type="text" value="1" name="sku[sku_id][quantity]">
<input type="text" value="1" name="sku[sku_id][quantity]">
<input type="text" value="1" name="sku[sku_id][quantity]">
<input type="text" value="1" name="sku[sku_id][quantity]">

我希望更改输入标记的每个值,例如

<input type="text" value="1" name="sku[11][quantity]">
.
.
.
<input type="text" value="1" name="sku[15][quantity]">

我在我的脚本中使用此代码,但它无法正常工作

$.each(data, function(key, value){
    var sku_id = value;
    console.log(key+" "+sku_id);
    $('input[name="sku[sku_id][quantity]"]').eq(key).attr('name', 'sku['+sku_id+'][quantity]');
})

但是当我尝试像这样添加类时,它正在工作

$.each(data, function(key, value){
    var sku_id = value;
    console.log(key+" "+sku_id);
    $('input[name="sku[sku_id][quantity]"]').eq(key).addClass('goods');
})
有人可以帮我吗? T ^ T

1 个答案:

答案 0 :(得分:0)

出现此问题的原因是您正在更改用于在jquery选择器中选择的name属性本身。

所以只需使用class并检查它是否有效

请检查这个小提琴

FIDDLE