2012-03-27 2 views
0

잠시 동안을 찾고 있는데 저에게 맞는 것을 발견하지 못했습니다.jquery를 사용하여 체크 박스 유효성 확인

<%= Html.CheckBox("cbCodigo") %> <label class="inline" for="Codigo">Codigo</label> 
<%= Html.CheckBox("cbNombreCliente") %> <label class="inline" for="NombreCliente">Nombre del cliente</label> 
<%= Html.CheckBox("cbCiudad") %> <label class="inline" for="Ciudad">Ciudad</label> 

내가 할, 텍스트 상자 변화,이 같은, 그리고 jQuery를의 .validate을 사용하는 경우에만 하나가 선택되어 있는지 확인하려면이 가장 좋은 방법은 무엇인가하지 :

나는이 확인란을 이것을 확인하십시오.

tbCodCliente 내가 검색 매개 변수로 사용하는 텍스트 상자이며, 체크 박스는 매개 변수 또는 텍스트 상자의 자동 완성 기능에 대한 값입니다

$('#tbCodCliente').change(function() { 
    if ($('#cbCodigo').attr('checked', false) && 
      $('#cbNombreCliente').attr('checked', false) && 
      $('#tbCheckbox').attr('checked', false)) { 

      // function for validate method   
    } 
}); 

나는이 방법의 유효성을 확인하려고하지만 돈 그것이 최선의 방법인지 안다.

는 편집 : 나는 이런 식으로 뭔가를 원하지만, 여전히 이러한 페이지에 사용할 수있는 유일한 확인란이있는 경우 확인하기 위해 다음 jQuery를 문 다음 시도 할 수 있습니다

('#tbCodCliente').change(function() { 
    if($("input:checked").length == 0) { 
     $("#request-form").validate({ 
      rules: { 
       checkbox: { 
        required: 'input[type="checkbox"]:checked', 
        minlength: 1 
       } 
      }, 
      messages: { 
       checkbox: {"Please check at least one."} 
      } 
     })   

    } 
}); 
+0

방금 ​​ –

답변

2

를 작동하는지 확인하는 방법을 찾을 수 있습니다

if($("input:checked").length == 1) 

편집 :

더 정확하게하려면 다음과 유효성 검사 코드를 변경할 수 있습니다

$('#tbCodCliente').change(function() { 
    if($("input:checked").length == 1) { 
     //Do stuff here 
    } 
}); 
+0

감사합니다!, 예, 양식의 유일한 확인란이 있지만 어떻게 jquery .validate() 사용합니까? –

+2

그리고 그것들이 유일한 것이 아니라면 클래스 나 id를 통해 컨테이너를 참조 할 수 있습니다 : if ($ (". container input : checked"). length == 1) {/ * ... * /} – Shion

+0

@AlejandroHinestrosa - 내 편집 질문에 대한 답변을 드리겠습니다. – Epuri

1

하나의 확인란을 선택하면 다른 확인란의 선택을 취소합니다.

$('input:checkbox').change(function() { 
     if (this.checked) { 
      $('input:checkbox:not(#'+this.id+')').attr('checked', false); 
     } 
}); 

데모 :

그리고 단일 확인란 선택을위한 http://jsfiddle.net/5btfe/ 당신이 아주 정확 epuri의 답변을 참조 할 수 있습니다 확인하십시오.

+0

예, 감사합니다. 내가 jquery를 사용하는 방법을 알고 싶다. 체크 박스에 체크하지 않으면 경고를 보여준다. –

+0

위의 체크를 validate call.http : //stackoverflow.com에 직접 호출 될 커스텀 메소드에 추가 할 수있다./questions/241145/jquery-validate-plugin-how-to-create-a-simple-custom-rule – codef0rmer