Ir para conteúdo

POWERED BY:

Arquivado

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

Arley Barros

Marcar opção como selecionada <select>

Recommended Posts

Bom dia pessoal

 

A questão é a seguinte:

 

tenho um script daqueles que todos estão acostumados, que busca o endereço através do cep e depois preenche os campos do form.

está tudo funcionando ok, porém, eu gostaria de após a select de cidade ter sido preenchida, ela já selecionar a cidade que retornou do resultado do cep...

 

Conto com a ajuda de todos, vou postar o codigo abaixo:

 

 

Javascript

<script type="text/javascript">
		function getEndereco() {
		if($.trim($("#dadCep").val()) != ""){
			$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#dadCep").val(), function(){			
				if (resultadoCEP["tipo_logradouro"] != '') {
					if (resultadoCEP["resultado"]) {
					$("select[name=dadCidade]").html('<option value="">Carregando...</option>');
						$.post("php/cidades.php", {uf:unescape(resultadoCEP["uf"]) , cidade : unescape(resultadoCEP["cidade"])},
								function(valor){
                     			$("select[name=dadCidade]").html(valor);
                  			}
						);
						$("#dadEnd").val(unescape(resultadoCEP["tipo_logradouro"]) + ": " + unescape(resultadoCEP["logradouro"]));
						$("#dadBairro").val(unescape(resultadoCEP["bairro"]));
						$("#dadEstado").val(unescape(resultadoCEP["uf"]));
						$("#dadEnd").focus();
					}
							
				}	
							
			});
		 }
	}

</script> 

Script php que popula o select

 

$estado = $_POST['uf'];

$sql = "SELECT * FROM site.aux_cidades WHERE uf = '$estado' ORDER BY nome ASC";
$qr = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($qr) == 0){
   echo  '<option value="0">'.htmlentities('Sem cidades nesse estado').'</option>';
   
}else{
   while($ln = mysql_fetch_assoc($qr)){
      echo '<option value="'.$ln['nome'].'">'.$ln['nome'].'</option>';
   }
} 

Obrigado, ABRAÇOS!

Compartilhar este post


Link para o post
Compartilhar em outros sites

$("select[name='uf']").val('SP');

só isso. Se o value for igual ao q você passar de parametro para o metodo .val(), a lib jQuery vai selecionar pra ti.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$("select[name='uf']").val('SP');

só isso. Se o value for igual ao q você passar de parametro para o metodo .val(), a lib jQuery vai selecionar pra ti.

 

tks Willian, mas o estado ja está ok, é com a cidade o meu problema, o UF como ja esta carregado, funciona normalmente, mas a lista de cidades vem da resposta do php...

 

espero estar explicando direito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. agora que eu vi, você ta tentando disparar uma requisição dentro de outra. =X

 

cara, joga num input text a cidade..

até pq é complicado você ter uma base atualizada disso.

 

o principio seria o mesmo.. passar pro .val() um valor exatamente igual a algum dos value do select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu até jogaria isso num campo text, mas como este campo é "pesquisável", o correto seria reduzir a chance de a pessoa que está se cadastrando inserir uma informação inconsistente, como um nome de cidade escrito errado.

 

continuo tentando por aqui...

 

 

como você pode ver, pensei em fazer isso com php, tanto é que to passando a cidade também no $.post, assim lá eu jogaria o <selected>cidade</selected>, mas ainda nao consegui fazer isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode comparar o valor e atribuir o atributo selected via attr()

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.