在javascript中编辑输入字段的名称

时间:2017-09-21 11:45:52

标签: javascript jquery

我在表中有很多输入字段,每个输入字段就像这样的数组的索引

<input type="text" name="customproperty[0]" />
<input type="hidden" name="customproperty[0]" />
<input type="text" name="customproperty[1]" />
<input type="hidden" name="customproperty[1]" />
.
.

有时客户端删除字段和顺序订单已损坏;

<input type="hidden" name="customproperty[0]" />
<input type="text" name="customproperty[2]" />..

我希望所有这些都是顺序的,所以每次发布之前都会调用此方法;

function arrangeInputNames() {
    debugger
    var inptSlctr = $("#container");
    var allinputs = inptSlctr .find("input")
    allinputs.each(function (index, el) {
        var newIndex = Math.floor(index / 2);//since there is 2 element for each index
        el.name = el.name.replace("old name"," new name");//regex or ?
    });
}

我需要这样的正则表达式或任何智能业务逻辑来改变“只有索引号” 我的意思是上面改变的exp不应该是“customproperty [2]”到“customproperty [1]”而是“2”到“1”,因为属性名称总是相同的只有索引可以改变

1 个答案:

答案 0 :(得分:1)

使用正则表达式,您可以:

el.name = el.name.replace(new RegExp("\[[\d]+\]"), "[" + newIndex + "]")