2011-10-16 5 views
2

나는 한 다음 라디오 버튼 :jQuery는 선택된 라디오 버튼에 대해 동일한 값을 제공합니까?

<fieldset data-role="controlgroup" data-type="horizontal"> 
<legend>Business Type</legend> 
<input type="radio" name="businessType" value="business" id="business" checked="checked"/> 
<label for="business">Business</label> 
<input type="radio" name="businessType" value="personal" id="personal"/> 
<label for="personal">Personal</label> 
</fieldset> 

내가 선택한 라디오 버튼의 현재 값을 얻기 위해이 jQuery를 사용하려고하지만 난 개인적 선택하더라도 값으로 '비즈니스'를 점점 계속 :

var idd = ($("input:radio[name=businessType]").val()); 

감사

답변

9

docs에 따르면, 당신은 할 필요가 :

var idd = ($("input:radio[name=businessType]:checked").val()); 
1

물론 "비즈니스"를 항상 반환 할 것입니다. $("input:radio[name=businessType]")은 선택된 라디오 버튼뿐만 아니라 특정 라디오 버튼을 모두 제공합니다. .val은 첫 번째 값 (이 경우 "비즈니스")을 반환합니다.

선택한 요소를 선택한 요소 중 하나 인 범위로 좁혀 야합니다. 그렇게 할 수있는 쉬운 방법이있다 : 사이드 참고로

$("input:radio[name=businessType]").filter(":checked").val(); 


, 당신의 선택은 매우 나쁘다. 모든 단일 입력 상자를 선택한 다음 필터링합니다. 나는 이런 식으로 뭔가 좋을 것 :

$(containingForm).find("input:radio[name=businessType]") 

그 방법을, 당신은 하나 개의 요소 (포함하는 양식/기타 용기)를 선택하고, 단지 그 안에서 올바른 라디오 입력을 찾고 있습니다.

관련 문제