2017-03-24 1 views
-1

모든 유형의 입력을 확인하지만 라디오 버튼과 체크 박스 만 유효성을 검사하지 않습니다.라디오 및 체크 박스가 유효하지 않음

여기

function validateFormSection() { 
    var valid = true; 
    var section = $('.tab-pane.active'); 
    var inputs = section.find('input, select, textarea','radio','checkbox'); 

    var focusElem; 

    inputs.each(function(index, el) { 
     var elem = $(el); 
     if (elem.prop('required')) { 
      if (elem.val() == "") { 
       elem.closest('.form-group').addClass('has-error'); 
       valid = false; 
      } 
     } 

    }); 



    if (!valid) { 
     focusElem.focus(); 
    } 
    return valid; 
} 
+0

이 플러그인에 대한 질문이없는 한 jQuery 유효성 검사 태그를 사용하지 마십시오. 편집 됨. – Sparky

답변

1

find('input, select, textarea','radio','checkbox');

라디오와 체크 박스 요소하지 않은 내 코드입니다. 기본적으로 말하면, <radio> 또는 <checkbox>이라는 요소를 모두 찾으십시오.

input은 이러한 요소를 캡슐화하므로 문제가되지 않습니다. 문제는 find에 대한 논증에서 비롯됩니다. 하나만 필요할 때 당신은 3 가지의 주장을 가지고 있습니다.

find('input, select, textarea');

명시 적으로 라디오, 체크 박스를 확인하고자하는 경우 사용할 수 있습니다 그들은 바이너리이기 때문에

find('input[type=radio], input[type=checkbox]')

0

잘 기술적으로 체크 박스와 라디오 버튼은 항상 유효합니다. 그러나 체크 박스에 체크 표시가 있는지 확인하려는 경우 jQuery에서 수행하는 작업 :

$("#chkInclude").is(':checked') 
관련 문제