2010-04-10 164 views
1

我有一些隐藏的输入这样更改输入name属性

<input name="exam.normals[1].blahblah" ..../> 

我想以某种方式与一个数字,我想(index)取代[1]

我不是懒,但我试图找到一个很好的办法做到这一点...

一个解决方案是用一个exam.normals[+ index +]取代的exam.normals[1]但我应该先substr整个字符串.... 随着正则表达式我不知道如何做替换。好...

+0

@Justin Johnson,你编辑了这个问题,但留在“我不懒”?哈哈哈 – 2010-04-10 17:29:15

回答

1

尝试这样:

$("input[name]").each(function() { 
    var $this = $(this); 
    $this.attr("name", $this.attr("name").match(/\[\d+]/g, "["+index+"]")); 
}); 
+0

谢谢!这与我所做的非常接近! – GorillaApe 2010-04-10 12:34:30

2

你可以这样做:

$("input[name*='[1]']").attr('name', function(i, v) { 
    return v.replace('[1]', '[' + i + ']'); 
}); 

这个发现有一个名字在他们[1]输入,然后替换[1][0]上的第二个第一[1]