Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jotaerre10

Combo Select em 3 Níveis

Recommended Posts

Amigos,

 

to começando em ajax to tentando fazer uma coisa tipo preenchimento de 3 select's um dependente do outro, acho que isso é coisa básica mas preciso só de uma ajudinha.

 

ta assim:

 

insert.php

<script type="text/javascript" src="ajax.js"></script>
<label>Lotação:</label>
<p>
<select name="empresa" id="empresa" onchange="ajax('comboAjax.php?cmd='+this.value,'processarsetores');">
<?php
$rs = mysql_query("SELECT * FROM empresa ORDER BY Nome ASC");
while( $rg = mysql_fetch_array($rs) ){
  echo "<option value='" . $rg['idEmpresa'] . "'>" . $rg['Nome'] . "</option>\n";
}
?>
</select>
</p>
	
	<p id="combosetores">
		<label>Setor:</label>
		<select name="setores" id="setores">
		</select>
	</p>
	
	<p id="combosolicitantes">
		<label>Solicitante:</label>
		<select name="solicitantes" id="solicitantes">
		</select>
	</p>

ajax.js

// método retorno ajax
function ajax(url,callback)
{
	if (window.XMLHttpRequest)
	{
		requisicao = new XMLHttpRequest(); //Firefox
	} else if (window.ActiveXObject) {
		requisicao = new ActiveXObject("Msxml2.XMLHTTP"); //Internet Explorer
	} else {
			alert("Navegador não tem suporte");
	}

	requisicao.onreadystatechange = function () {
		if (requisicao.readyState == 4 && requisicao.status == 200) {
			//alert(requisicao.responseText);
			eval(callback+"('"+requisicao.responseText+"')");
		}
	}
	url+= (url.indexOf("?")==-1) ? "?" : "&";
	url+= "sid="+parseInt(Math.random()*99999999);
	
	requisicao.open("GET",url, true);
	requisicao.send(null);
}

//método addclick
function addclick(idnoticia)
{	//alert('A notícia ' + idnoticia + ' teve mais um clique!');
	document.location.reload();
}

//método processar setores
function processarsetores(retval)
{	
	document.getElementById("combosetores").innerHTML = retval;
}

 

comboAjax.php

<?php
$conexao = mysql_connect("*****","*****","*****");
$db = mysql_select_db("*****",$conexao);

$empresa = $_GET['cmd'];

$query = "SELECT DISTINCT idDepartamento,Nome FROM departamento WHERE idEmpresa='$empresa' ORDER BY Nome ASC";
$recordset = mysql_query($query,$conexao);

print "<label>Setor:</label>";
print "<select name=\"setores\" id=\"setores\">";
print "<option value=\"\">   </option>";

while($registro = mysql_fetch_array($recordset))
{
	print "<option value=\"".$registro['idDepartamento']."\">".$registro['Nome']."</option>";
}

print "</select>";
?>

 

até ai beleza! funciona perfeitamente eu escolho a lotação do cara e ele exibe o select com os departamentos, mas como eu faço pra quando clicar nos departamentos ele exibir os solicitantes, tipo tenho que fazer a mesma coisa que no primeiro....

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem simples com jQuery:

http://forum.imasters.com.br/index.php?/topic/365795-combos-dependentes-ajax-jquery/

 

para fazer para do segundo para o terceiro, basta replicar a chamada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.