更改输入名称属性

时间:2010-04-10 12:07:57

标签: javascript jquery regex

我有一些像这样的隐藏输入

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

我想以某种方式将[1]替换为我想要的号码(index)。

我不是很懒,但我正在努力找到一个好方法来做到这一点......

解决方案是将exam.normals[1]替换为exam.normals[+ index +],但我应该先substr整个字符串.... 使用正则表达式我不知道如何进行替换。良好...

2 个答案:

答案 0 :(得分:2)

你可以这样做:

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

这会在其中找到名称中包含[1]的输入,然后在第二个[1]上替换[0] [1],等等。

答案 1 :(得分:1)

尝试这样的事情:

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