2014-02-11 5 views
0

이 질문에 여러 가지 변형이 있음을 충분히 알고 있으므로 명확한 해결책이 많은 사람들에게 도움이 될 것이라 확신하므로 철저히 조사하십시오.jQuery 라디오 버튼의 선택된 색인

데이터베이스 레코드를 통해 루프의 일부로 일련의 라디오 버튼이 동적으로 생성되었습니다. HTML의 레코드 당 하나의 라디오. 각 라디오 버튼에 레코드 ID의 배열 인덱스 값이 할당됩니다. 사용자가 클릭이 use_msg_id와 라디오 버튼에의 말을하자

<input type="radio" id="use_msg_id[1]" value="1" /> 
<input type="radio" id="use_msg_id[2]" value="2" /> 
<input type="radio" id="use_msg_id[3]" value="3" /> 
<input type="radio" id="use_msg_id[4]" value="4" /> 

[3], 내가 jQuery를 나를 위해 그 인덱스 값을 수집 할 수 있어야합니다. 나는 그것을 할 수있는 방법이 있다는 것을 알고 있지만 적절한 용어를 찾아 적절한 해결책을 찾지 못했습니다.

감사합니다.

+0

인덱스가 항상으로 정렬하려는 경우 오드 r 다음에'index()'를 사용할 수 있습니다. – Alvaro

답변

3

당신은 수

$(':radio').change(function(){ 
    var index = $(this).val().match(/\d+/); 
}) 
을 추출 할 regex을 사용할 수 있습니다

DEMO

+1

'index'에 대해서'id' 태그에서 대괄호 사이에있는 숫자를 참조하기 때문에이 해결책은 그 숫자가 나타나는 순서와 관련이있는 경우에만 작동합니다 DOM. – Alvaro

+1

그 말이 맞을 것입니다. 그 번호는 대괄호 안에 있어야합니다. – Skittles

+1

@Satpal - 완벽 해요! 그것은 내가 클릭 한 것에 대한 [ "2", 인덱스 : 0, 입력 : "2"]를 반환합니다. 그 결과에서 ID를 추출 할 수 있어야합니다. 고맙습니다. :) – Skittles

0

사용 :

parseInt($(this).attr('id').replace(/use_msg_id[/, '').replace(/]/,'')); 
0

사용 :

var id = this.id.substr(this.id.indexOf("["), this.id.indexOf("]")) 
parseInt(id); 
+0

또한이 대답은 실제로 제가 연구중인 동일한 프로세스의 또 다른 측면에 대한 해결책을 제시했습니다. 감사합니다. – Skittles

관련 문제