2011-04-08 7 views
0

다음과 같은 문제가 있습니다 : 나는 cms 옵션에 사용되는 입력 필드를 복제하기 위해 복제 스크립트를 사용합니다. 필드 이름에 따라 옵션 배열이 db에 작성됩니다. 나는 '그러나 ...정규 표현식 및 javascript 도움이 필요하십니까

options[categories][2][3] 

options[categories][3][3] 

:

나는 순간에 필드에 다음과 같은 한 :

options[categories][1][3] 

과 같은 카운터 변수를 사용하여 첫 번째 숫자를 늘리려면 정규식에 익숙하지 않아서 누군가가 str.replace 코드를 제공하여 첫 번째 숫자를 카운터 변수로 바꿀 수 있기를 바랍니다.

미리 감사드립니다.

....... 코드 :

if ($(clone).attr('name')){ 
       newid = $(clone).attr('name'); 
       var position = newid.lastIndexOf("["); 

       newid = newid.substring(0, position)+ '[' + (counter +1) + ']'; 
       $(clone).attr('name', newid); 
      };  

html로 필드 :

<input type="checkbox" value="1" name="options[categories][1][3]"> 

이 보이는 순간 .......

3은 카테고리 ID이고, 1은 카테고리가 필요한 옵션입니다. 순간

<input type="checkbox" value="1" name="options[categories][1][4]"> 

-하지만 내가 필요 : 클론 스크립트를 생성 할 것입니다 내가 가장 쉬운 솔루션을 검색하는 것입니다 있기 때문에 정규식 문제라고 생각

<input type="checkbox" value="1" name="options[categories][2][3]"> 

를 [범주] [anyvalue] 및 [categories]로 바꾸십시오 [카운터]

+1

이것은 REGEX 문제가 아닙니다. 자신의 상황과 비슷한 코드를 게시하십시오. 현재 데이터로는 작업 할 수 없습니다. – Khez

+0

답변을 주셔서 감사합니다 - 내 복제 스크립트 scripr (이름, ID 등) 모든 입력 필드 특성을 읽고 내 옵션이 다른 배열 필드에 저장되도록 카운터 변수를 추가하기 때문에 하나라고 생각합니다. 나는. 나는 "카테고리"와 같은 서브 어레이를 가진 옵션 배열을 가지고있다 - 하나의 필드를 복제함으로써, 입력 필드 이름을 기반으로 [1], [2] 등 새로운 하위 배열을 만들고 싶다. – Don

+0

코드 게시하기! :) – Khez

답변

1

정규식을 사용하여 대괄호로 묶은 첫 번째 숫자를 바꿀 수 있습니다. 이와 같이 :

if ($(clone).attr('name')) { 
    var newid = $(clone).attr('name'); 
    newid = newid.replace(/\[[0-9]*\]/, '[' + (counter + 1) + ']'); 
    $(clone).attr('name', newid); 
};  
+0

고마워요 -이 솔루션은 완벽합니다 :) – Don