Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Marcelo_26862

Validação limitar CheckBox

Recommended Posts

Boa tarde.

Gostaria de uma ajuda...

 

Tenho uma página com 12 checkbox, e teria de limitar o usuario a marcar apenas 2 deles...

Sendo assim, utilizei um script que achei aqui no Fórum que funcionou...

Porém, ele limita todos as Checkbox da página.E não posso fazer isso, visto que cada questão possui um número variados de Checkbox.

Segue o código

<script>
         $( document ).ready( function( )
         {
                 var NumeroMaximo = 2;
                 $( "input[type='checkbox']" ).click( function( )
                 {
                         $( "#Mensagem" ).empty( );
                         if( $( "input[type='checkbox']" ).filter( ':checked' ).size( ) > NumeroMaximo )
                         {
                                 $( '#Mensagem' ).html( 'Passou de ' + NumeroMaximo );
                                 return false;
                         }
                 } )
         } );
   </script>

 

Na questão 1 eu tenho 10 checkbox e posso marcar somente 2

Na questão 2 eu tenho 15 checkbox e posso marcar somente 5

 

Com esse script, eu só posso marcar 2, seja ele na questão 1, ou na questão 2, ou um em cada...

Será que fui claro?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo se você colocasse uma class diferente para todos os checkbox de cada pergunta resolveria seu problema exemplo:

 

Pergunta 1
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />

Pergunta 2 
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />

<script>
function selecao(class){
var NumeroMaximo = 2;
$( "."+class ).click( function( )
{
$( "#Mensagem" ).empty( );
if( $( "."+class ).filter( ':checked' ).size( ) > NumeroMaximo )
{$( '#Mensagem' ).html( 'Passou de ' + NumeroMaximo );
return false;
}
} )
}

</script>

 

Espero que ajude!

 

Perdão ocódigo javascript ficaria assim:

 

<script>
   function selecao(classe){
       var NumeroMaximo = 2;
       $( "#Mensagem" ).empty( );
       if( $( "."+classe ).filter( ':checked' ).size( ) > NumeroMaximo )
       {$( '#Mensagem' ).html( 'Passou de ' + NumeroMaximo );
           return false;
       }
   }
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo se você colocasse uma class diferente para todos os checkbox de cada pergunta resolveria seu problema exemplo:

 

Pergunta 1
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />
<input type="checkbox" class="pergunta1" name="seila" onclick="selecao('pergunta1')" />

Pergunta 2 
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />
<input type="checkbox" class="pergunta2" name="seila" onclick="selecao('pergunta2')" />

<script>
function selecao(class){
var NumeroMaximo = 2;
$( "."+class ).click( function( )
{
$( "#Mensagem" ).empty( );
if( $( "."+class ).filter( ':checked' ).size( ) > NumeroMaximo )
{$( '#Mensagem' ).html( 'Passou de ' + NumeroMaximo );
return false;
}
} )
}

</script>

 

Espero que ajude!

 

Perdão ocódigo javascript ficaria assim:

 

<script>
   function selecao(classe){
       var NumeroMaximo = 2;
       $( "#Mensagem" ).empty( );
       if( $( "."+classe ).filter( ':checked' ).size( ) > NumeroMaximo )
       {$( '#Mensagem' ).html( 'Passou de ' + NumeroMaximo );
           return false;
       }
   }
</script>

 

GAW

Dei uma adaptada no código e funcionou..muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa sem problemas, poste o resultado final aqui, as vezes sua dúvida pode ser a de outros, e com sua solução postada visitantes podem usar a lógica para solucionar os problemas deles também :thumbsup: Abrax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.