Ir para conteúdo

POWERED BY:

Arquivado

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

Marx XFS

[Resolvido] Desabilitar checkbox após 2 clicks

Recommended Posts

Olá gente, programei um webshop para o jogo muonline.

 

Preciso de ajuda para criar um script assim:

Após clicar em 2 checkbox, ele da disabled=true no resto

 

para deixar claro oque eu quero, aqui vai uma imagem:

Imagem Postada

 

 

Ajuda :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, eu achei scripts somente para desabilitar 1, ai tentei fazer uns ifs mas n deu certo, vou ver o link q você posto..

 

o problema é marcar 2 e desabilitar o resto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha fiz um script aqui, com ajuda do post acima e de outro site, mas quando eu clico, nada acontece:

onclick='Calcula(this)'

os id='epcex1' até o id='epcex6'

outra informação, essa tabela da foto, é um if, por isso nao usei aspas duplas.

E esta em um form, eu teria que informar o nome do form no document.getelementid?

 

uma imagem para ajudar, o amarelo feito no paint é o form

Imagem Postada

 

Aqui o codigo

<script type="Text/Javascript">
<!--
var MaxOptExe = 2;
function Calcula(objex)
{
var i = 1;
var optatual = 0;
for(i=1; i<7; i++)
{
var obj = document.getElementById('epcex'+eval(i));
if(obj.checked) {
exc_count++;
}
}
if(exc_count > MaxOptExe)
{
objex.checked = false;
}
}
-->
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma array com todos os checkboxes e outra com o msmo número de registro com valores "false"

 

aí você cria uma função

 

if (segunda_array[indice_do_checkbox] == false) {
segunda_array[indice_do_checkbox] = true;
}else{
checkbox.disabled = true;
}
algo assim, tendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu pensei em algo assim:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function id( el ){
	return document.getElementById( el );
}
function change_disabled( inputs, bool ){
	for( var i=0; i<inputs.length; i++ ){
		if( !inputs[i].checked ) 
			inputs[i].disabled = bool;
	}
}
function change_checks()
{
	var els = id('checks').getElementsByTagName('input');
	if( checkeds>=2 )
		change_disabled( els, true );
	else
		change_disabled( els, false );	
}
var checkeds = 0;
window.onload = function(){
	var inputs = id('checks').getElementsByTagName('input');
	for( var i=0; i<inputs.length; i++ ){		
		inputs[i].onclick = function(){
			checkeds =  this.checked ? checkeds+1 : checkeds-1;
			change_checks();
		}	
	}
}
</script>
</head>
<body>
	<table id="checks">
		<tr>
			<td>Aumenta o HP máximo</td>
			<td><input type="checkbox" name="opcao[]" value="Aumenta o HP máximo" /></td>
		</tr>
		<tr>
			<td>Aumenta Mana máxima</td>
			<td><input type="checkbox" name="opcao[]" value="Aumenta Mana máxima" /></td>
		</tr>
		<tr>
			<td>Diminui dano</td>
			<td><input type="checkbox" name="opcao[]" value="Diminui dano" /></td>
		</tr>
		<tr>
			<td>Reflete dano</td>
			<td><input type="checkbox" name="opcao[]" value="Reflete dano" /></td>
		</tr>
		<tr>
			<td>Sucesso na taxa de defesa</td>
			<td><input type="checkbox" name="opcao[]" value="Sucesso na taxa de defesa" /></td>
		</tr>
		<tr>
			<td>Taxa da aquisição</td>
			<td><input type="checkbox" name="opcao[]" value="Taxa da aquisição" /></td>
		</tr>
	</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Augusto claro, da nada ;)

 

William Bruno, Deu certo!!!

O script funcionou, vou procurar intender + de javascript, baixa alguma apostila.

 

 

Obrigado quem me ajudo, agradeço muito, pode fechar o topico

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.