Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
ark15

Dificuldades com Dropdown

Recommended Posts

ark15

Olá a todos os Membros,

Estou a desenvolver uma pesquisa avançada para a minha PAP mas tenho algumas duvidas que não consegui tirar no google e decidi vir aqui pedir ajuda/opnião.

Na pesquisa avançada tenho três campos, "Nome do Produto" (Tipo INPUT) campo "Categoria" (Tipo Select(menu dropdown)) e "Subcategoria"  (Tipo Select(menu dropdown)). O que foi , o cliente insere a palavra que deseja pesquisar , selecciona a categoria (Por exemplo"Informatica, audiovisual, Electrodomesticos etc") depois , quero que a subcategoria só fique "activa" quando o utilizador seleccione uma categoria pois cada categoria tem diferentes subcategorias. O meu problema esta que quando selecciono uma categoria , ele activa a Subcategoria (que é o que queria ) mas ao mesmo tempo ele faz a pesquisa sem eu clicar na subcategoria :/.

Vou passar a colocar o código para verem o que me refiro:

<table width="298" border="0">
		<form method="post">
  <tr>  <td width="108">Palavra : </td>  
       <td width="174"><INPUT name="palavra" onClick="ctl00_cphWork_hiddenField.value='1';"></td></tr><br />
<tr>
   <td> Categoria:</td><td> 
   				
                <select name="categ"  onChange="this.form.submit ('$subcateg;')" >
                    <option value="1">Electrodomésticos</option>
                    <option value="2">Audiovisual</option>
                    <option value="3" >Informática</option>
                    <option value="4">Música e filmes</option>
                    <option value="5">Comunicações</option>
                </select> </td>
  
    <tr>
    	<td>Subcategoria:
        </td><td>
        	<?
			if (isset($_POST["categ"]))
				{
					$categ = $_POST['categ'];
					if ($categ == 1)
						{
							//echo "1";
						}
					if ($categ == 2)
						{
							//echo "2";
						}
					if ($categ == 3)
						{
							//echo "3";
						}
					if ($categ == 4)
						{
							//echo "4";
						}
					if ($categ == 5)
						{
							//echo "5";
						}

					switch ($categ) 
					{
						case 1:
							echo "<select name= subcateg>";
							echo "<option>Fogões</option>";
							echo "<option>Varinhas</option>";
							echo "<option>Micro ondas</option>";
							echo "<option>Torradeira</option>";
							echo "</select>";
							break;
						case 2:
							echo "<select name= subcateg>";
							echo "<option>Plasmas</option>";
							echo "<option>Leitores de DVD</option>";
							echo "<option>Leitores Blue</option>";
							echo "<option>LCD</option>";
							echo "</select>";
							break;
						case 3:
							echo "<select name= subcateg>";
							echo "<option>Fontes</option>";
							echo "<option>Ram</option>";
							echo "<option>teclados</option>";
							echo "<option>Ratos</option>";
							echo "</select>";
							break;
						case 4:
							echo "<select name= subcateg>";
							echo "<option>Animação</option>";
							echo "<option>Musica</option>";
							echo "<option>Filmes</option>";
							echo "<option>Jogos</option>";
							echo "</select>";
							break;
						case 5:
							echo "<select name= subcateg>";
							echo "<option>Telemoveis</option>";
							echo "<option>GPS</option>";
							echo "<option>Vips</option>";
							echo "<option>Radios</option>";
							echo "</select>";
							break;

					}
					/*****/
				}
			else
				{	
					echo "<select disabled>";
				}
?>
		</td>
        
        <td>
       	 <td>  <INPUT type="submit" value="Pesquisar"></td></tr>	
        </td>
    </tr>
    </form>
</table>

   

Eu sei o que faz o código efectuar a pesquisa sozinho é esta linha :

<select name="categ"  onChange="this.form.submit ('$subcateg;')" >

   

Mas se tirar o onChange ele não me activará a subcategoria.

Obrigado desde já

Share this post


Link to post
Share on other sites
ark15

Olá yoda, mas assim não consigo "activar" a subcategoria. e eu tenho de primeiro escolher a categoria para depois activar a subcategoria comforme a escolha na categoria.

Cumps

Share this post


Link to post
Share on other sites
ark15

Podias me especificar com um exemplo se faz o favor ? é que não sei como fazer isso, ando a procura na net , mas sem grandes resultados.

Obrigado pela tua ajuda :)

Share this post


Link to post
Share on other sites
yoda

Boas,

Uma forma é usares ajax para enviar o formulario que tens até à parte da categoria. Quando escolhes a categoria, ele envia por ajax a info do formulario por GET e utilizando ajax faz load apenas da parte da subcategoria para o local que queres. Depois disso é só por o this.form.submit no select das subcategorias, para que apenas quando escolhes esse ele envie o formulário. Não tenho tempo disponível agora para dar um exemplo prático.

Share this post


Link to post
Share on other sites
ark15

yoda.pt, obrigado pela sua ajuda. Fiz de outra maneira , atraves de cases e funciona perfeito :confused:

Obrigado pela sua sujestão

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.