Ted k’ É assim que tem que ser! Programando em ASP, ASP.NET, PHP, CSS, dentre outras…

26
Mar/09
7



Combo Dinâmico com AJAX

Default.asp

<html>
<head>
<title>Teste Combo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript" src="ajax.js"></script>
</head>
<body>
Categoria:
<select name="categoria" onchange="alimentarCombo(this.value);">
    <option value="">[ Selecione ]</option>
  	<%
	set rs = conn.execute("SELECT codigo, nome FROM categoria ORDER BY nome ASC")
		if (not rs.eof) then
			while (not rs.eof)
				response.write("<option value="""&rs("codigo")&""">"&rs("nome")&"</option>")
			rs.moveNext : wend
		end if
	set rs = nothing
	%>
</select>
<br>
Sub-Categoria: <div id="resultado"></div>
</body>
</html>

ajax.js

function GetXMLHttp() {
	if (navigator.appName == "Microsoft Internet Explorer") {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}
var mod = GetXMLHttp();

function alimentarCombo(valor) {
	mod.open("GET", "Carrega.ajax.asp?id="+valor+"", true);
	mod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	mod.onreadystatechange = function() {
		if (mod.readyState == 4) {
			document.getElementById("resultado").innerHTML = mod.responseText;
		}
	};
	mod.send(null);
}

Carrega.ajax.asp

<select name="sub_categoria">
    <option value="">[ Selecione ]</option>
  	<%
	set rs = conn.execute("SELECT codigo, nome FROM sub_categoria WHERE categoria_id = '"&request.queryString("id")&"'")
		if (not rs.eof) then
			while (not rs.eof)
				response.write("<option value="""&rs("codigo")&""">"&rs("nome")&"</option>")
			rs.moveNext :wend
		end if
	set rs = nothing
	%>
</select>
Comentários (7) Trackbacks (0)
  1. Olá, como faço para carregar mais de uma combo, tipo a do webmotors, no meu caso são 5.

    Agradeço

  2. crie cada função para cada combo que vc quer, modificando os ID onde iram receber os valores!

  3. Fiz identico…
    olha o erro q da….
    http://www.mxstudio.com.br/forum/index.php?showtopic=72670&st=0#entry210338
    poderia me ajudar????
    desde já obrigada

  4. Ted k’ :
    parabéns pelo tópico…

    você está dando um /show em AJAX!!

    é o meu primeiro contato com essa tecnologia..
    mas preciso saber uma coisa..

    como faço para passar esses dados via post e recuperá-los?

    abração!!!

  5. Ted, beleza?
    Já venho usando esse código faz um tempo. Funciona que é uma beleza.
    Porém até hoje não consegui validar com o spry do dw o combo da div resultado.
    Tem idéia de como resolver isso?

  6. desconheço o spry a ponto de usar ele, poderia colocar na net para dar uma analisada?

  7. Parabens pelo tema….foi muito util



Deixe um comentário.


Não há trackbacks ainda.


Portfólio Ted k'

Atualize seu Navegador