Jump to content


Photo

A Mesma Função De Exibir E Ocultar...


  • Faça o login para participar
8 replies to this topic

#1 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 20/04/2006, 10:54

Ééééééé......

A mesma função do edmais, de novo... :assobio:

Só que agora apliquei ela num SELECT e no Firefox funconou direitinho.
Eu clico no OPTION do SELECT e abre-se a DIV.

Já no IEca, só pra variar não acontece nada.
E pior é que nem erro dá, só não acontece o que deveria acontecer.

E pra quem aind não viu o código, que é meio difícil porque faz três dias que estou em cima dele :P, é essa aqui:

function customSize( bool )
{
if ( bool )
{
document.getElementById("normalRow").style.display = "";
}
else
{
document.getElementById("normalRow").style.display = "none";
}
}

E a utilização:

<option value="none" selected onclick="customSize(false);">Escolha um Padr&atilde;o</option>

Para ocultar

e

<option value="none" selected onclick="customSize(true);">Escolha um Padr&atilde;o</option>

Para exibir.

[]'s

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 20/04/2006, 12:13

Não entendi a sua utilização.
A mesma opção tem true e false?
como assim?
Eduardo Batista

#3 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 20/04/2006, 13:41

É igualzinho à todos os outros casos, só que dessa vez acontece quando se seleciona uma opção em um SELECT.

[]'s

#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 20/04/2006, 17:00

Bom, você pode recuperar a seleção a partir de:

var obj = document.getElementById("id_select");
alert(obj.options[obj.selectedIndex].value);

Acho que a partir daí você consegue fazer a sua função completa.
Eduardo Batista

#5 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 20/04/2006, 17:29

Pra trabalhar com select é melhor você usar o OnChange ao invés do OnClick:

JS pra esconder exibir (esse é com o block, ele empurra o conteúdo quando aparece, dá pra usar o hidden)
function camada( sId ) {
	var sDiv = document.getElementById( sId );
	if( sDiv.style.display == "none" ) {
		sDiv.style.display = "block";
	} else {
		sDiv.style.display = "none";
	}
}

HTML do Select:

<select name="select" onchange="camada(IdDaCamadaQueVaiSumirOuAparecer);" >
	<option value="prod">Produtos</option>
	<option value="empre">Empresas</option>
	<option value="cat">Categorias</option>
</select>

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#6 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 20/04/2006, 18:37

Mas se eu usar aí, no SELECT, se a pessoa clicar sem quewrer no select já vai abrir.
O certo é quando é clicar em uma das opções.

Do jeito que você fez ela apaeceria quando selecionasse a opção (ou o elemento) e desparaceria quando selecionasse esse mesmo elemento.
E deve ocorrer o contrário:
Um dos OPTIONS (que é o último da lista) só abre. E todos os outros só fecham o que está aberto.

Sacou?

[]'s

#7 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 25/04/2006, 18:10

Como que eu atribuo essa função (ou outra semelhante) num SELECT.

Vida de aprendizado é froids.

[]'s

#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 25/04/2006, 20:59

Um dos OPTIONS (que é o último da lista) só abre. E todos os outros só fecham o que está aberto.

Basta você criar uma verificação para esse último option. Compare alguma coisa, o value por exemplo..

Se o valor for X então
mostra a div
senão
esconde

(y)
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 25/04/2006, 21:34

É uma boa ... eu faço assim em um select num sistema de busca, um das opções do select abre outro select com outras opções ....

function option(opt) {
	if(opt == "cat") {
		var sLay = document.getElementById('categoria');
		if( sLay.style.display == "none" ) {
			sLay.style.display = "block";
		} else {
			sLay.style.display = "none";
		}
	} else {
			document.getElementById('categoria').style.display = "none";}
}

No caso eu verifico se o opt é igual a cat porque é essa opção que vai abrir o novo select... olhe como é chamada a função:

<select name="where" class="select" onchange="option(this.value);" >
	<option value="prod">Produtos</option>
	<option value="empre">Empresas</option>
	<option value="cat">Categorias</option>
</select>

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq