2012-01-19 2 views
0

JQuery 사용 유효성 검사를 수행하고 모든 생성 된 라디오 버튼의 값을 페이지에서 가져 오려고합니다.확인 된 모든 라디오 버튼을 확인하고 해당 값을 얻으십시오. JQuery

내 페이지에 10 개의 질문이 있으며 각 질문에 라디오 버튼 그룹 (예/아니오)이 있습니다.

계속 버튼을 클릭 할 때 모든 질문에 답변이 있는지 확인하고 모든 질문에 대한 답변을 받아야합니다.

이것은 각 질문의 모양입니다.

<tr> 
    <td class="TextBold">1.</td> 
    <td class="TextBold">Question content 1 
    </td> 
    <td class="TextBold"> 
    <table id="ctl00_DefaultContent_ctl01" border="0"> 
     <tr> 
     <td> 
     <input id="ctl00_DefaultContent_ctl01_0" type="radio" name="ctl00$DefaultContent$ctl01" value="Yes" /><label for="ctl00_DefaultContent_ctl01_0">Yes</label> 
     </td> 
     <td> 
    <input id="ctl00_DefaultContent_ctl01_1" type="radio" name="ctl00$DefaultContent$ctl01" value="No" /><label for="ctl00_DefaultContent_ctl01_1">No</label> 
     </td> 
     </tr> 
    </table> 
    </td> 
    </tr> 

다음은 내가 생각해 낸 것입니다. 그러나 나는 다른 선택기 호출을하지 않고도 이러한 질문에 답할 수 없다는 경고를 사용자에게 전하고 싶습니다.

$('#btnContinue').click(function() { 
    if ($(":radio:checked").size() < 10) 
{ 

} 
    var result = ''; 
    $('input:checked').each(function() { 
     result += "|" + $(this).closest('table').closest('td').prev().prev().html() + ',' + $(this).val(); 
    }); 
    alert(result); 
}); 
+1

무엇을 시도 했습니까? 무엇이 잘못 되었습니까? –

+0

var result = ''; $ ('input : checked'). 각 (function() { 결과 + = ','+ $ (this) .val(); }); 알림 (결과); – BumbleBee

답변

3
if($(":radio:checked").size()<10) 
//validation fails 
4

시도해 볼 수 있습니다.

물론 부모 컨테이너를 컨텍스트로 전달하여 선택기를 제한하면 해당 컨테이너 내의 라디오 버튼 만 선택됩니다. 그 배열이 10 개 항목 긴 경우

2

체크 된 라디오 버튼이 너무

$('input:radio:checked') 

에 의해 반환되는 배열에있을 것입니다, 모든 질문에 답을하고있다. 그리고 해당 배열의 각 항목에 대해 .val()은 선택한 라디오 값을 제공합니다.

관련 문제