Filtrando combobox estados e cidades

Forum destinado aos programadores que pretendem utilizar o framework do Joomla! 1.5 para fazer suas próprias extensões
andreluis2005
Novato
Mensagens: 7
Registrado em: 11 Jun 2010, 16:22

Filtrando combobox estados e cidades

Mensagem por andreluis2005 »

Ola pessoal.
Estou alterando o formulario de cadastro de usuario e gostaria de colocar uma combo de estados e ao selecionar o estado ele mostra em outra combo as cidades do estado selecionando. Bem achei um codigo na net que usa php + ajax porem não consigo adaptar no joomla. Alguem sabe como ? tem algum componente para isso ?

no arquivo que tenho e funciona somente em php e ajax esta assim

arquivo 1:formulario.php

<tr>
<td>Estado</td>
<td align='left'>"; ?>

<select name="cod_estados" id="cod_estados">
<option value=""></option>
<?php
$sql = "SELECT cod_estados, sigla
FROM estados
ORDER BY sigla";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
echo '<option value="'.$row['cod_estados'].'">'.$row['sigla'].'</option>';
}
?>
</select></td><td colspan='6' align='left'>

<label for="cod_cidades">Cidade:</label>
<span class="carregando">Aguarde, carregando...</span>
<select name="cod_cidades" id="cod_cidades">
<option value="">-- Escolha um estado --</option>
</select>

<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3');
</script>

<script type="text/javascript">
$(function(){
$('#cod_estados').change(function(){
if( $(this).val() ) {
$('#cod_cidades').hide();
$('.carregando').show();
$.getJSON('cidades.ajax.php?search=',{cod_estados: $(this).val(), ajax: 'true'}, function(j){
var options = '<option value=""></option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j.cod_cidades + '">' + j.nome + '</option>';
}
$('#cod_cidades').html(options).show();
$('.carregando').hide();
});
} else {
$('#cod_cidades').html('<option value="">– Escolha um estado –</option>');
}
});
});
</script>
<?php


arquivo 2: cidades.ajax.php
<?php
header( 'Cache-Control: no-cache' );
header( 'Content-type: application/xml; charset="utf-8"', true );

//$con = mysql_connect( 'localhost', 'root', 'root' ) ;
//mysql_select_db( 'cadastro', $con );
include("conexao.php");


$cod_estados = mysql_real_escape_string( $_REQUEST['cod_estados'] );

$cidades = array();

$sql = "SELECT cod_cidades, nome
FROM cidades
WHERE estados_cod_estados=$cod_estados
ORDER BY nome";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
$cidades[] = array(
'cod_cidades' => $row['cod_cidades'],
'nome' => $row['nome'],
);
}

echo( json_encode( $cidades ) );

?>
rafaelbdb
Novato
Mensagens: 2
Registrado em: 12 Jan 2011, 09:01

Re: Filtrando combobox estados e cidades

Mensagem por rafaelbdb »

Oi! Você conseguiu resolver esse caso? estou precisando exatamente da mesma coisa... um combobox para estado > cidade > bairro, para filtrar pesquisa de artigos no Joomla! (1.5)
Responder