Ir para conteúdo

POWERED BY:

Arquivado

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

Videres

Checkbox dinâmico

Recommended Posts

Boa tarde galerinha da maldade,

 

Gostaria de saber com vocês, se com javascript eu consigo diminuir a quantidade de vezes que seleciono as respostas criadas com checkbox, onde ao selecionar 2 opções as demais seriam desabilitadas.. isso é possível?

 

Ex.:

 

<form onsubmit="return valid_teste();">

<label>Pergunta 1</label>
<input type = "checkbox" name = "opcao1" id = "opcao1" />
<input type = "checkbox" name = "opcao2" id = "opcao2" />
<input type = "checkbox" name = "opcao3" id = "opcao3" /> <input type = "checkbox" name = "opcao4" id = "opcao4" />

<input type="submit" name="btn" /> </form>


Ao selecionar a resposta 1 e 4 a 2 e 3 seria desabilitadas.

Não sei deu para entender.. caso eu encontre algo antes posto aqui.

Desde agradeço pela força, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é possível sim, basta atribuir disabled = true aos outros inputs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é possível sim, basta atribuir disabled = true aos outros inputs.

 

Eu estava... dando uma olhada no disabled... dai veio um outro problema tipo...

 

Como faço para verificar que já selecionei 2 opções e desativar as demais?

Qualquer orientação ou sugestão de estudo será bem vinda.

 

Vlws pela força William tu é o cara.. =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. fiz um exemplo aqui cara.. tem a ida e a volta..

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>

<style>label { display: block; }</style>
<script type="text/javascript">
(function(){
	"use strict";

	var marcados = 0;
	var verificaMarcado = function() {
		var $checks = document.querySelectorAll('input[type="checkbox"]');

		if( marcados>=2 ) {
			loop($checks, function($element) {
				$element.disabled = $element.checked ? '' : 'disabled';
			});
		} else {
			loop($checks, function($element) {
				$element.disabled = '';
			});
		}
	};
	var loop = function($elements, cb) {
		var max = $elements.length;
		while(max--) {
			cb($elements[max]);
		}
	}
	var count = function($element) {
		return $element.checked ? marcados + 1 : marcados - 1;
	}
	window.onload = function(){
		var $checks = document.querySelectorAll('input[type="checkbox"]');
		loop($checks, function($element) {
			$element.onclick = function(){
				marcados = count(this);
				verificaMarcado();
			}
			if($element.checked) marcados = marcados + 1;
		});
		verificaMarcado();
	}
}());
</script>
</head>
<body>

	<label><input type="checkbox" value="1" />Item 1</label>
	<label><input type="checkbox" value="2" />Item 2</label>
	<label><input type="checkbox" value="3" />Item 3</label>
	<label><input type="checkbox" value="4" />Item 4</label>
	<label><input type="checkbox" value="5" />Item 5</label>
</body>
</html>
se vc marcar 2 ele coloca disabled nos outros. Se vc desmarcar um, pode marcar outro, ai ele desabilita todos os outros novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow William, Brigadão.. [RESOLVIDO]

 

Nesse código que você fez tem uma porrada de coisa que n entendo.. (provavelmente vou tentar destrinchar ele) srrssrr

Tu poderia me indicar algum material de estudo relacionado ao q vc fez? \o_

 

Vlws



 

Tem que ser 2 opções obrigatoriamente?

Para verificar:

var teste = $(".nome_da_classe").is(':checked');
if(teste)
{
  // existe checkbox selecionado
}
else
{
 // nao existe checkbox selecionado
}

 

 

Posso inserir isso em minhas validações. \o

Vlws Daniel. ^~

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.