<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ComboBox Dinâmico Com Ajax</title>
<script language="javascript" src="times.js"></script></head>
<body>
<form name="form1">
<fieldset>
<input type="radio" name="estado" value="rj" onclick="getDados(this.value);" />Rio de Janeiro
<input type="radio" name="estado" value="sp" onclick="getDados(this.value);" />São Paulo
<input type="radio" name="estado" value="mg" onclick="getDados(this.value);" />Minas Gerais
<div id="times">
</div>
</fieldset>
</form>
</body>
</html>// JavaScript Document
var request = null;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
if (request == null)
alert("Não foi possível criar o objeto !");
function getDados(estado) {
var url = "times.php";
url = url + "?estado="+estado;
url = url + "&cache=" + new Date().getTime();//para evitar problemas com o cache do navegador
request.open("GET", url, true);
request.onreadystatechange = exibe;//chame a função sem os parênteses
request.send(null);
}
function exibe(){
if (request.readyState == 4) {//verifica o estado de prontidão
if (request.status == 200) {//verifica o status da requisição
//recupera os dados e os converte em um objeto
var jsonData = eval('(' + request.responseText + ')');
//o navegador trata a JSON com texto, portanto utilize o responseText
/**
* agora nós usaremos o DOM para criar um combobox dinâmicamente,
* e preencheremos esse combo com os dados
**/
var divTimes = document.getElementById("times"); //obtemos o elemento pai
//limpa o conteúdo da div
divTimes.innerHTML = "";
var elemSel = document.createElement("SELECT");
for(i=0; i < 4; i++){
var elemOpt = document.createElement("OPTION");
var text = document.createTextNode(jsonData.times.nome); //recupera o nome dos times
elemOpt.setAttribute("value",jsonData.times.sigla); //preenche o valor do option
elemOpt.appendChild(text); //anexa o texto ao elemento
elemSel.appendChild(elemOpt); //anexa o option ao select
}
divTimes.appendChild(elemSel); //anexa o select ao elemento pai
}
}
}<?php header("Content-Type: text/html; charset=ISO-8859-1"); ?>
<?php
require("JSON.php"); //importando a biblioteca
$json = new Services_JSON();//criando o objeto para manipular a JSON
$estado = $_GET['estado" target="_blank">;
if($estado == 'rj'){
$time1 = array('nome'=> "Flamengo",
'sigla'=> "FLA");
$time2 = array('nome'=> 'Vasco',
'sigla'=> "Vas");
$time3 = array('nome'=> "Fluminense",
'sigla'=> "FLU");
$time4 = array('nome'=> 'Botafogo',
'sigla'=> "BOT");
}
if($estado == 'sp'){
$time1 = array('nome'=> "Corinthians",
'sigla'=> "COR");
$time2 = array('nome'=> "Sao Paulo",
'sigla'=> "SPO");
$time3 = array('nome'=> "Santos",
'sigla'=> "SAN");
$time4 = array('nome'=> "Palmeiras",
'sigla'=> "PAL");
}
if($estado == 'mg'){
$time1 = array('nome'=> "Cruzeiro",
'sigla'=> "CRU");
$time2 = array('nome'=> "Atletico",
'sigla'=> "CAM");
$time3 = array('nome'=> "America",
'sigla'=> "AMG");
$time4 = array('nome'=> "Ipatinga",
'sigla'=> "IPA");
}
$times = array('times' => array($time1, $time2, $time3, $time4));
$output = $json->encode($times);
echo($output);
?>Todas as matérias de Ramon Ferreira Silva
O computador terá o tamanho que você quiser. Poderá ser do tamanho da .
Aqui veremos como aplicar uma tatuagem a qualquer pessoa de uma maneir.
Público é um item fundamental para se ter um site. De que adianta você.
Veja como transformar suas imagens em quebra cabeças de uma maneira be.
Olá pessoal, estou aqui para mais uma vídeo aula, desta vez vou mostra.
Muitas das vezes quando para web, nossa aplicação não responde da mane.
É comum ver em aplicações Desktop, elementos que possuem um Hint(Dica).
A JSON é um formato de dados compacto, nativo do javascript, e que vem.
Este é um breve artigo, irei mostrar como renderizar corretamente car.
Não considere isso um artigo, isso é um desafio. Eu desafio a alguém a.
© 2005 - 2009 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Jesus
- Publicado em: 01/07/2008 - 10:43
Tirando os erros de português, a matéria está boa.