Ir para conteúdo

Arquivado

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

Rogerio Pancini

Marcar o item como selected no Select2 com ajax

Recommended Posts

Boa tarde pessoal.

 

Estou terminando um site para imobiliária, no qual faz parte da ferramenta de busca o Select2.

Está tudo funcionando.

O problema é que, ao selecionar um imóvel, seria necessário que os campos que o cliente escolheu, ficassem com o selected setados.

 

Esse seria um dos scritps:

 

O que faz o ajax:

			/*************** Procurar cidade ***************/
			//$('#cidade').select2('data', {id: '5256', text: 'cidade selecionada...'});
			
			$( "#cidade" ).select2({    
				ajax: {
					url: "<?php echo $dir_base; ?>php/procurar_cidades_pesquisa.php",					
					dataType: 'json',
					delay: 250,
					data: function (params) {
						return {
							finalidade_id: $("#finalidade").val(),
							tipo_imovel_id: $("#tipo_imovel").val(),
							q: params.term // search term
						};
					},
					processResults: function (data) {
						// parse the results into the format expected by Select2.
						// since we are using custom formatting functions we do not need to
						// alter the remote JSON data
						return {
							results: data
						};
					},
					cache: true
				},
				language: {
					noResults: function (params) {
						return "Selecione a finalidade";
					}
				}				
			});	
			
			$("#bairro").prop("disabled", true);
				
			$("#cidade").on("change", function () {
				if($(this).val().length == 0) {
					$("#bairro").prop("disabled", true);
				}else{
					$("#bairro").prop("disabled", false);
				}
					
				$("#bairro").empty().trigger('change')
			});				
			/*************** Procurar cidade ***************/	

E o php que faz a busca do db:

<?php

	/******* Conexão com o bando de dados *******/
	include "../Conexao/config.php";
	mysqli_select_db($config, $database_config);
	mysqli_set_charset($config,"utf8");
	/******* Conexão com o bando de dados *******/

	$finalidade_id  = strip_tags(trim($_GET['finalidade_id'])); 
	$tipo_imovel_id = @strip_tags(trim($_GET['tipo_imovel_id'])); 
	
	$cidade_sel_url = @strip_tags(trim($_GET['cidade_sel_url']));
	$search         = @strip_tags(trim($_GET['q'])); 
	
	if(empty($finalidade_id)){
		$sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '1' GROUP BY imv.cidade") or die(mysqli_error($config));
	}elseif(empty($tipo_imovel_id)){
		$sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '".$finalidade_id."' GROUP BY imv.cidade") or die(mysqli_error($config));
	}else{
		$sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '".$finalidade_id."' AND tipo = '".$tipo_imovel_id."' GROUP BY imv.cidade") or die(mysqli_error($config));	
	}

	$return_arr = array();
	
	if(@mysqli_num_rows($sql_json) <= '0'){
		echo "";
	}else{
		while($r_sql_json = mysqli_fetch_array($sql_json)){
			$row_array['id']   = $r_sql_json['cidade'];
			$row_array['text'] = $r_sql_json['nome'];
			
			array_push($return_arr,$row_array);				
		}
	}

	echo json_encode($return_arr);
?>

Encontrei essa linha na documentação:

 

//$('#cidade').select2('data', {id: '5256', text: 'cidade selecionada...'});

 

Mas eu coloco e a cidade selecionada não fica setada com seleted.

 

São seis campos que ocorrem isso, todos parecidos com este.

 

A instrução acima está correta e eu não estou sabendo fazer ou teria algum outro modo de fazer isso?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma pequena dúvida.
       
      Estou escrevendo um Sistema que tem vários Módulos.
       
      O módulo principal tem:
      Estoque | Compras | Expedição | Vendas

      Minha dúvida:
      como faço após Acessar o Módulo Principal e Escolher o Módulo que quero trabalhar,
      eu possa fechar o Módulo aberto por exemplo: Estoque, sem alterar o Módulo principal e outros se estiver aberto ?


      Grato,
       
      Cesar
    • Por douglas79
      Bom dia,

      Há alguns dias que venho instalar o apache, o php, mysql e o phpmyadmin manualmente e sem obter sucesso. Até consegui rodar o php, porém, quando vou baixar a úitima versão do MYSQL, não tem todos os pacotes nele instalados, inclusive no completo, só encontro o Router.
      Alguém pode me dizer o porquê que isso está ocorrendo?
      Desde já agradeço a ajuda de vocês, que será bem vinda!
      No aguardo!

      Uso a versão 8.3.9 do PHP
      Meu SO é o Windows 10 32 bits
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me perdoa em postar mais uma dúvida minha.

      Através de ajuda e orientação dos membros do Grupo, tenho conseguido resolver muitos problemas que tenho encontrado.
       
      Gostaria de saber dos amigos do grupo, se tem algum vídeo aula, orientando a Instalação das Biblioteca para Emissão de Nota Fiscal Eletrônica.
       
      Tenho feito várias busca e tenho encontrado a maioria das vezes tudo em LARAVEL.

      Sei que para instalar as Biblioteca, precisa do Composer, até aqui tudo bem.

      Minha dúvida: 
      após fazer o download da  sped-nfe  e  sped-da, essas biblioteca devem ser gravada em qual pasta ?  ----   na C:\  ou dentro da pasta do Sistema ?
      quando dou o comando: COMPOSER INSTALL esse comando já instala todas as bibliotecas, ou 1 por 1 ?

      Grato,
       
      Cesar
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.