Logo Hardware.com.br
Flavio Tinte
Flavio Tinte Novo Membro Registrado
9 Mensagens 0 Curtidas

Habilitar/Desabilitar Checkbox

#1 Por Flavio Tinte 01/09/2008 - 17:43
Boa tarde galera,

minha dúvida é:

tenho 5 chkbox, qndo o 1º estiver selecionado, os outros 4 devem ser desabilitados, mas ao clicar removendo a seleçao do 1º, os outros serao habilitados para poderem ser selecionados. Já consegui desabilitá-los qndo clico no 1º chkbox, mas qndo removo sua seleçao, os outros continuam desabilitados.


fiz essa função...:


function confere()
{
if (document.getElementById('ck_permissao').disabled = true)
{
document.getElementById('ck_incluir').disabled = true;
document.getElementById('ck_excluir').disabled = true;
document.getElementById('ck_alterar').disabled = true;
document.getElementById('ck_verificar').disabled = true;
document.getElementById('ck_permissao').disabled = false;
}

if (document.getElementById('ck_permissao').disabled = false)
{
document.getElementById('ck_incluir').enabled = true;
document.getElementById('ck_excluir').enabled = true;
document.getElementById('ck_alterar').enabled = true;
document.getElementById('ck_verificar').enabled = true;
document.getElementById('ck_permissao').enabled = true;
}

}


se puderem me ajudar...
mcv
mcv Veterano Registrado
1.2K Mensagens 40 Curtidas
#4 Por mcv
01/09/2008 - 17:58
Não entendi se o problema foi resolvido, mas se não funciona mesmo corrigindo para == é porque alguma parte do código está com a lógica incorreta.

Veja que da forma como você tinha feito a condição será sempre falsa:
if (document.getElementById('ck_permissao').disabled = false)
E essa
(document.getElementById('ck_permissao').disabled = true)
Será sempre verdadeira.
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#6 Por Fergo
01/09/2008 - 18:13
Não existe a propriedade "enabled", por isso o segundo trecho do seu código não funciona. Esse código deve funcionar:


function confere()
{
if (document.getElementById('ck_permissao').disabled == true)
{
document.getElementById('ck_incluir').disabled = true;
document.getElementById('ck_excluir').disabled = true;
document.getElementById('ck_alterar').disabled = true;
document.getElementById('ck_verificar').disabled = true;
document.getElementById('ck_permissao').disabled = false;
}

if (document.getElementById('ck_permissao').disabled == false)
{
document.getElementById('ck_incluir').disabled = false;
document.getElementById('ck_excluir').disabled = false;
document.getElementById('ck_alterar').disabled = false;
document.getElementById('ck_verificar').disabled = false;
document.getElementById('ck_permissao').disabled = false;
}

}
Apenas como complemento: quando se utiliza texto na forma de strings com uma sequência de caracteres (palavra), costuma-se usar áspas ao invés de apóstrofos. Normalmente se utiliza o apóstrofo quando sfaz referência à um único caractere ("meutexto" e 'A' por exemplo).

Fergo
Flavio Tinte
Flavio Tinte Novo Membro Registrado
9 Mensagens 0 Curtidas
#9 Por Flavio Tinte
01/09/2008 - 18:32
desculpem-me, estava fazendo uns testes e copiei o codigo sem corrigir, na verdade eu nao quero que o "ck_permissao" seja desabilitado, ele é qm vai dizer se os outros checkbox estarao ou nao desabilitados/habilitados, caso ele esteja selecionado ou não.. =)
[html]
function confere()
{
if (document.getElementById('ck_permissao').disabled = true)
{
document.getElementById('ck_incluir').disabled = true;
document.getElementById('ck_excluir').disabled = true;
document.getElementById('ck_alterar').disabled = true;
document.getElementById('ck_verificar').disabled = true;
}

if (document.getElementById('ck_permissao').disabled = false)
{
document.getElementById('ck_incluir').disabled = false;
document.getElementById('ck_excluir').disabled = false;
document.getElementById('ck_alterar').disabled = false;
document.getElementById('ck_verificar').disabled = false;
}

}
[html]
desse jeito, qndo seleciono o "ck_permissão", os outros chkbox sao desabilitados, mas qndo clico removendo a seleçao, os outros continuam desabilitados....
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#11 Por Fergo
01/09/2008 - 18:35
Você não está confundindo a propriedade "disabled" com "checked"? Pois depois que você desabilita um checkbox, você não consegue mais marcá-lo ou desmarcá-lo clicando nele, já que ele estaria desativado.
Mas se possível, aceite a sugestão do mcv e poste um trecho mais amplo do código, que envolvam as rotinas que se relacionam com esses checkboxes.

Fergo
Flavio Tinte
Flavio Tinte Novo Membro Registrado
9 Mensagens 0 Curtidas
#12 Por Flavio Tinte
01/09/2008 - 18:39
nessa linha, chamo a function confere() no clique do chkbox:


<input name="ck_permissao" type="checkbox" id="ck_permissao" value="checkbox" onclick="return confere()" />

código da funcao:

function confere()
{
if (document.getElementById('ck_permissao').disabled = true)
{
document.getElementById('ck_incluir').disabled = true;
document.getElementById('ck_excluir').disabled = true;
document.getElementById('ck_alterar').disabled = true;
document.getElementById('ck_verificar').disabled = true;
}

if (document.getElementById('ck_permissao').disabled = false)
{
document.getElementById('ck_incluir').disabled = false;
document.getElementById('ck_excluir').disabled = false;
document.getElementById('ck_alterar').disabled = false;
document.getElementById('ck_verificar').disabled = false;
}

}

imagem gerada:
Lista de Menus
Permissão
Incluir
Excluir
Alterar
Verificar
Opção








Imagem


qndo selecionei 'ck_permissao', os outros foram desabilitados, mas qndo clico novamente retirando a seleçao, eles continuam desabilitados...:

Lista de Menus
Permissão
Incluir
Excluir
Alterar
Verificar
Opção








Imagem
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal