Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar o valor ao input quando selecionado item de pesquisa


mariocosta

Pergunta

Tenho um pequeno sistema e eu gostaria de ajuda em uma coisa, que quando o vendedor (eu), seleciona um produto trazer os valores corretos, isso eu consegui resolver, o que preciso de ajuda é que quando selecionado o item ele vá para um input e a caixa de pesquisa desapareça com os outros itens,

HTML
<input type="text" id="valor" name="item_1" onKeyUp="buscarNoticias(this.value)" style="width:500px !important"/>
												<div id="resultado"></div>

JAVASCRIPT

var req;
function buscarNoticias(valor) {
	if(window.XMLHttpRequest) {
		 req = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {
		 req = new ActiveXObject("Microsoft.XMLHTTP");
	}
		
	var url = "busca.php?valor="+valor;
		
	req.open("Get", url, true);
		
	req.onreadystatechange = function() {
		if(req.readyState == 1) {
			document.getElementById('resultado').innerHTML = 'Buscando Produtos...';
		}
		if(req.readyState == 4 && req.status == 200) {
			// Resposta retornada pelo busca.php
			var resposta = req.responseText;
			// Abaixo colocamos a(s) resposta(s) na div resultado
			document.getElementById('resultado').innerHTML = resposta; 
		}
	}
	req.send(null);
}
//função para exibir noticias
function exibirConteudo(id) {
	// Verificando Browser 
	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest(); 
	}
	else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	}   
	
	// Arquivo PHP juntamento com a id da noticia (método GET)
	var url = "exibir.php?id="+id;
	// Chamada do método open para processar a requisição
	req.open("Get", url, true);
	// Quando o objeto recebe o retorno, chamamos a seguinte função;
	req.onreadystatechange = function() {
		// Exibe a mensagem "Aguarde..." enquanto carrega
		if(req.readyState == 1) {
			document.getElementById('conteudo').innerHTML = 'Aguarde...';
		}
		// Verifica se o Ajax realizou todas as operações corretamente
		if(req.readyState == 4 && req.status == 200) {
			// Resposta retornada pelo exibir.php
			var resposta = req.responseText;
			// Abaixo colocamos a resposta na div conteudo
			document.getElementById('conteudo').innerHTML = resposta;
		}
	}
	req.send(null);
}

PHP

busca.php

include('conn.php');
//recuperação de valores
	if(!empty($_GET["valor"])){
		$valor=$_GET['valor'];
	//selecionar os valores do banco
		$sql = mysql_query("SELECT * FROM produtos WHERE descricao LIKE '".$valor."%' OR gtin_ean LIKE '".$valor."%'  LIMIT 5");
	//while para trazer todos os valores do banco
			while ($noticias = mysql_fetch_array($sql)) {
				echo ("<div class='exibir_res'>");		
				echo ("<a href=\"javascript:func()\" onblur=\"passar_1()\" onclick=\"exibirConteudo('".$noticias['codigo']."')\">".$noticias['descricao']."</a><br />"); 	echo ("</div>");	
		}
	}

exibir.php

include('conn.php');
	#######################
	// Variaveis 
	$id	=	$_GET['id'];
	//$id	=	$_GET['id'];
	$qnt = '1';
	#######################
	
		$sql = mysql_query("SELECT * FROM produtos WHERE codigo = '".$id."'");
		$prod = mysql_fetch_array($sql);
		#######################
		// Exibi os produtos
		echo('<input type="text" style="display:none;" name="item_1" value="'.$prod['descricao'].'" />');
		echo('<input type="text" style="width:100px !important" id="qnt_1" name="qnt_1" value="'.$qnt.'" onblur="calcula_1();" />');
		echo('<input type="text" style="width:100px !important" id="vlr_1" name="vlr_1" value="'.$prod['preco_v'].'" onblur="calcula_1();" />');
		echo('<input type="text" style="width:100px !important" id="vlritem_1" name="vlritem_1" onblur="calcula_1();" value="'.number_format($qnt*$prod['preco_v'],2,",",".").'" />');

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...