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...
- Home
- >
- Fórum
- >
- Profissional
- >
- Programação, Sc...
- >
- Habilitar/Desabilitar Che...
if (document.getElementById('ck_permissao').disabled = false)Deveria usar ==.
qndo faço essa comparaçao, nem a primeira parte funcina, que é a de desabilitar os outros chkbox...
vlw pela dica..
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.
ok, eu fiz conforme vc disse(q realmente é a maneira correta para comparar, eu nem tinha percebido), mas ainda nao funcionou, vou ver se encontro o erro, mas sera q tem alguma outra maneira de fazer isso ou é como estou tentando mesmo??
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
vlw Fergo,
eu tentei, mas ainda nao deu certo....
=//
estranho... :s
Eu não sei como está o resto do seu código, mas analisando apenas essa função nota-se que o "ck_permissão" nunca vai estar desativado (considerando que seu estado padrão é ativo), ou seja, ele nunca vai entrar no primeiro IF. Talvez isso esteja causando algum problema na lógica do seu código.
Fergo
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....
Cola o código todo. Se for muito grande, só as partes relacionadas.
PS: Se o probema não foi resolvido.
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
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
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
so consigo inserir imagens atraves de um endereço URL?
Nesse caso você está comparando a propriedade errada
Você está analisando se o ck_permissao está ativado/desativado, que é diferente de estar marcado/desmarcado.
Altere a condição dos IFs de "disabled" para "checked".
if (document.getElementById("ck_permissao".checked = ...)
Fergo
problema solucionado!!
valeu Fergo e mcv pela colaboraçao!!!
obrigado pela atençao e paciencia...
t+