Jump to content


Photo

Preenchimento De Combos


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

#1 Má =)

Má =)

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Feminino

Posted 26/08/2009, 16:35

Olá pessoas

Gostaria de saber se é possível fazer uma coisa deste tipo:

Eu defino a estrutura de um combo:

<select name="nome_combo">

</select>

Que será preenchido segundo o resultado selecionado de outro combo...
E, ao selecionar uma opção deste primeiro combo, o segundo é preenchido com dados já pré-definidos em <div>


<div id="instance3" style="display:none;">
<option>[Selecione um banco]</option>
<option value="1">Instância 3 - BD 1</option>
<option value="2">Instância 3 - BD 2</option>
<option value="3">Instância 3 - BD 3</option>
<option value="4">Instância 3 - BD 4</option>
</div>


<div id="instance4" style="display:none;">
<option>[Selecione um banco]</option>
<option value="1">Instância 4 - BD 1</option>
<option value="2">Instância 4 - BD 2</option>
<option value="3">Instância 4 - BD 3</option>
<option value="4">Instância 4 - BD 4</option>
</div>

E depois "CHAMO" esta <div> na estrutura do combo já definido:

<select name="nome_combo">
<div id="instance3"></div>
</select>

É possível fazer isto?
"E não há porque morrer um pouco por dia, deixar perder o sorriso em meio a tanta agonia..."

#2 nvivo

nvivo
  • Visitantes

Posted 26/08/2009, 16:42

É possível fazer isto?


Sim, é possível.

#3 Má =)

Má =)

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Feminino

Posted 26/08/2009, 16:50

É possível fazer isto?


Sim, é possível.



Mas dessa maneira aí como eu falei?
Porque eu não consegui!

Porque a minha intenção é carregar um combo, de acordo com outro combo.

Então tem as <div>s escondidas, porque dependendo do valor do combo 1 , o combo 2 será carregado com os respectivos valores...

E depois disso, antes de dar submit, eu queria validar todos os combos.

Essa coisa de carregar os combos secundários, eu consegui fazer de outra maneira, mas dessa maneira que eu fiz, não consigo validá-los, aí pensei nessa possibilidade aí!
"E não há porque morrer um pouco por dia, deixar perder o sorriso em meio a tanta agonia..."

#4 nvivo

nvivo
  • Visitantes

Posted 26/08/2009, 17:09

Eu vi seu código no outro post. Não, exatamente dessa forma como você colocou não é possível.

O problema é na forma como você está fazendo. <option> só dentro de <select>, você precisa obedecer a estrutura do HTML.

Agora, se você quer simplesmente carregar um combo com valores que dependem do primeiro, algo como isso, e se essas opções são fixas, você pode armazenar as opções em javascript em vez de em um DIV, vai ficar mais fácil pra você trabalhar com isso.

algo como:
<script type='text/javascript'>
 
 var opcoes = {
	  "valor1" : [ 'a', 'b', 'c' ],
	  "valor2" : [ 'd', 'e', 'f' ],
	  "valor3" : [ 'g', 'h', 'i' ] 
 };
 </script>

Com isso, você pode facilmente acessar a nova lista sabendo o "valor" selecionado antes, e popular o outro combo... algo como

var items = opcoes["valor1"];
 
 for (i in items)
 {
	 // faz algo com items[i] (que é 'a', 'b', 'c'...)
 }


Claro, isso é apenas uma alternativa. Você pode também armazenar diretamente as tags como:

var opcoes = {
	 "valor1" : "<option>a</option><option>b</option><option>c</option>",
	   "valor2" : "<option>c</option><option>d</option><option>e</option>",
	   "valor3" : "<option>f</option><option>g</option><option>h</option>",
   }

e definir direto por um "element.innerHtml = opcoes["valor1"];"

Se eu fosse você, começava a ler sobre jquery, porque vai te facilitar muito nesse tipo de coisa.

[]'s




1 user(s) are reading this topic

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

IPB Skin By Virteq