JQuery를 사용하여 그룹의 라디오 버튼이 확인되지 않았는지 확인


107

나는 문제가 있습니다. 라디오 버튼 그룹에 라디오 버튼이 선택되어 있지 않은지 JQuery로 확인하여 사용자가 옵션을 확인하는 것을 잊었을 때 자바 스크립트 오류를 ​​줄 수 있습니다.

값을 얻기 위해 다음 코드를 사용하고 있습니다.

var radio_button_val = $("input[name='html_elements']:checked").val();

답변:


146
if (!$("input[name='html_elements']:checked").val()) {
   alert('Nothing is checked!');
}
else {
  alert('One of the radio buttons is checked!');
}

17
체크 된 라디오 버튼의 값이 ""이면 실패합니다.
ScottE

1
@ScottE-훌륭한 포인트-Roland가 수락하지 않으면이 답변을 제거하겠습니다.
Dominic Rodger

나는 당신이 그것을 변경 .val() == ""하고 제거 할 수 있다고 생각합니다 !.
Doug Neiner

@ Doug-ScottE가 언급 한 문제가 여전히 남아 있지 않습니까? .val()체크 된 라디오 버튼이 있다면 무엇을 반환 value=""할까요? (나는 당신이 그럴 가능성이 거의 없다고 주장 할 수 있다고 생각하지만).
Dominic Rodger

1
죄송합니다. 내 의견이 혼란 스러웠습니다. 전체 테스트를 다음과 같이 표시했습니다. if ($("input[name='html_elements']:checked").val() == "")"Nothing is check"라는 경고 메시지가 표시됩니다.
Doug Neiner

144

나는 사용하고있다

$("input:radio[name='html_radio']").is(":checked")

라디오 그룹의 모든 항목이 선택되지 않은 경우 FALSE를 반환하고 항목이 선택되면 TRUE를 반환합니다.


3
이 답변은 라디오 버튼 그룹에 선택된 값이 있는지 확인하는 데 안정적으로 작동했습니다. 스레드에서 최고의 답변입니다.
Andy Cook

1
Dominic Rodger와 Jacobo Hernández의 대답은 모두 잘 작동합니다. 저는 개인적으로 줄의 시작 부분에 NOT (!)을 사용하지 않으려 고 노력합니다. 몇 년 후 그것을 간과하고 논리를 거꾸로하면 디버그하기가 어려워집니다 ... is ( ": checked")는 당신이 무엇을하고 있는지 매우 분명합니다-Best answer.
Scott

32

다음과 같이 할 수 있습니다.

var radio_buttons = $("input[name='html_elements']");
if( radio_buttons.filter(':checked').length == 0){
  // None checked
} else {
  // If you need to use the result you can do so without
  // another (costly) jQuery selector call:
  var val = radio_buttons.val();
}

2
처음 두 줄을 좁힐 수 if ($("input[name='html_elements']:checked").length == 0){없습니까?
Powerlord

7
할 수는 있지만 값이 존재한다는 것을 보여 주면 값을 얻으려면 다른 전체 jQuery 선택이 필요합니다.
Doug Neiner

5
if ($("input[name='html_elements']:checked").size()==0) {
   alert('Nothing is checked!');
}
else {
  alert('One of the radio buttons is checked!');
}


2
var len = $('#your_form_id input:radio:checked').length;
      if (!len) {
        alert("None checked");
      };
      alert("checked: "+ len);

2

나는 이것이 라디오 그룹의 라디오가 확인되었는지 확인하는 간단한 예라고 생각합니다.

if($('input[name=html_elements]:checked').length){
    //a radio button was checked
}else{
    //there was no radio button checked
} 

0

이렇게 간단하게 사용하고 있습니다

HTML

<label class="radio"><input id="job1" type="radio" name="job" value="1" checked>New Job</label>
<label class="radio"><input id="job2" type="radio" name="job" value="2">Updating Job</label>


<button type="button" class="btn btn-primary" onclick="save();">Save</button>

스크립트

 $('#save').on('click', function(e) {
    if (job1.checked)
        {
              alert("New Job"); 
        }
if (job2.checked)
        {
            alert("Updating Job");
        }

}

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.