Jump to content

Como preencher input com valor autocompletado de um select?


Carlos Rocha
 Share

Recommended Posts

Pessoal, estou usando o plugin autocomplete do JQuery para autocompletar em um select.

Tudo funciona corretamente.

$(function() {
$( "#cliente" ).combobox();
$( "#toggle" ).click(function() {
$( "#cliente" ).toggle();
});

$( "#plano" ).combobox();
$( "#toggle" ).click(function() {
$( "#plano" ).toggle();
});

});

Agora gostaria de aproveitar a opção selecionada (ou autocompletada) para preencher o valor de um campo de texto.

Tem como?

O script que estou usando é esse aqui:

http://jsfiddle.net/emirdeliz/swqwLfxu/

Grato a quem puder ajudar!

Link to comment
Share on other sites

Porque será que não funciona?

<!-- INICIO ENTREGA VALOR DO PLANO -->
 <script src="http://www.google.com/jsapi"></script>

 <script type="text/javascript">
 $(function(){
  $(document).on("click", "li", function() {
	  if( $(this).text() ) {
//até aqui $(this).text(), esta vindo ok!
		  $.getJSON('planos.ajax.php?search=',{plano: $(this).text(), ajax: 'true'}, function(resultado){
			  alert(resultado);
			  $('#valorCombinado').val(resultado);
		  });
	  } else {
		  $('#valorCombinado').val('');
	  }
  });		  
 });		
 </script>
 <!-- FIM ENTREGA VALOR DO PLANO -->
 

<?php
$plano = json_decode($_GET["plano"]);
$valorPlano = $PlanosDao->pesquisaValorPlano($plano);
$response = array("valorPlano" => $valorPlano);
echo json_encode($response);
?>
php testado, retorno ok!
Link to comment
Share on other sites

Olha, consegui.

<!-- INICIO ENTREGA VALOR DO PLANO --> 
$(function(){
     $(document).on("click", "li", function() {
//Pega o id (value) do select atrelado à li escolhida
planoEscolhido = $("#plano").val();

$.getJSON('planos.ajax.php?search=',{plano: planoEscolhido, ajax: 'true'}, function(resultado){
novoValor = formataMoeda(resultado['valorPlano'],2, ',', '.');
$('#valorCombinado').val(novoValor);
}); 

    });           
});         
<!-- FINAL ENTREGA VALOR DO PLANO -->

Porém, esse código só é implementado quando eu "clicko" sobre a li para escolher a opção.

Mas quando eu vou digitando e o script vai autocompletando gostaria que a cada digito, fosse feita uma verificação se existe na select alguma combinação com o que esta digitado na caixa de texto. Ou ainda se existe nas li's, alguma combinação com o que esta escrito na caixa.

Se houver a combinação, dispara a vericação de pesquisa do valor do Plano.

Alguma orientação?

Link to comment
Share on other sites

coxosclassic

Boas,

adiciona um evento 'input' á tua caixa de texto, algo tipo:

$('#textBox').on('input', function(e) {
 console.log('text:', $(this).val());
});

e constrói essas validações nesse evento, ou chama um método qualquer para isso.

mais info:

https://api.jquery.com/change/

Espero que ajude,

cc

Edited by coxosclassic

Cumps,

cc

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.