2010-04-10 97 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]