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>

Via tedk.com.br

Total de comentários: 2
avatar
0 Spam
1 wilrgomes • 16:58, 15/09/2015
apenas um addendo
avatar
0 Spam
2 wilrgomes • 17:00, 15/09/2015

Código
Galera segue exemplo bem mais fácil do que este com ASP + JSON + JQUERY

1) Acesse o link: https://code.google.com/p/aspjson/downloads/list, baixe o arquivo json_2.0.4.asp ou json_2.0.3.asp
2) Crie uma página para chamada json_query.asp e coloque o código abaixo:

<!--#include file="bd/conn.asp"-->  
<!--#include file="json.asp"-->  
<%  
Function QueryToJSON(dbc, sql)  
     Dim rs, jsa, col  
     if trim(sql)<>"" then  
         Set rs = dbc.Execute(sql)  
         Set jsa = jsArray()  
         While Not (rs.EOF Or rs.BOF)  
             Set jsa(Null) = jsObject()  
             For Each col In rs.Fields  
                 jsa(Null)(col.Name) = col.Value  
             Next  
         rs.MoveNext  
         Wend  
         Set QueryToJSON = jsa  
     else  
         QueryToJSON = ""  
     end if  
End Function  
%>

3) Crie uma página chamada json_page01.asp e coloque o código abaixo.

<!--#include file="json_query.asp"-->  
<%  
sql_config = "SELECT * FROM TABELA"
' Abaixo o segredo que monta todo o JSON pra você nem se quer esquentar a cabeça
' aonde conn é a string de conexão que está no arquivo "bd/conn.asp"
   
QueryToJSON(conn,sql_config).Flush  
%>

4) O resultado da página fica assim, exemplo:

{"name":"Tu\u011Frul","surname":"Topuz","message":"Hello World"}
'// outra forma de exibição
[
     {
         "name":"ali",
         "surname":"osman"
     },
     {
         "name":"mahmut",
         "surname":"\u00E7\u0131nar"
     }
]

mais informações: https://code.google.com/p/aspjson/

Wilson RG, facilitar é preciso, programar é necessário.


avatar