Foros del Web » Programando para Internet » Jquery »

Problema Autocomplete con dos valores e insertar Input Text

Estas en el tema de Problema Autocomplete con dos valores e insertar Input Text en el foro de Jquery en Foros del Web. Hola muchachos recurro a ustedes con urgencia por que tengo que entregar el proyecto hoy a las 4 de la tarde con mi jefe, realmente ...
  #1 (permalink)  
Antiguo 12/05/2015, 13:41
 
Fecha de Ingreso: abril-2012
Ubicación: CUAUTITLAN IZCALLI
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Exclamación Problema Autocomplete con dos valores e insertar Input Text

Hola muchachos recurro a ustedes con urgencia por que tengo que entregar el proyecto hoy a las 4 de la tarde con mi jefe, realmente nunca he ocupado Jquery y aunque lo intento comprender para lo que me pidieron esta dificil ya que este desarrollo yo no lo realize.

Tengo un autocomplete que actualmente me busca en la DB cuado hago click me selecciona un valor y lo inserta a un Input Text, el problema que reside que si yo captura mas Input me llena el mismo valor, lo que necesito que me tome Codigocliente y cUPC de la base de datos con este mismo autocomplete y lo inserte en dos input text mas que tengo.

El autocomplete busca el valor por descripciòn.

Le das click y necesito que llene la descripcion, codigocliente y codigo UPC.

Alguien me puede ayudar con los valores ya no entiendo mucho de Jquery.

Gracias y adjunto datos de mis scripts debajo de.

Archivo Ajax Refresh


Código:
<?php
// PDO connect *********
function connect() {
    return new PDO('mysql:host=localhost;dbname=vidimport', 'admin', 'Ma14b7p8', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND));
}
 
$pdo = connect();
$keyword = '%'.$_POST['keyword'].'%';
$sql = "SELECT * FROM ccdp WHERE Codigocliente LIKE (:keyword) OR Descripcion LIKE (:keyword) ORDER BY CCDP_ID ASC LIMIT 0, 10";
$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
$list = $query->fetchAll();
foreach ($list as $rs) {
	// put in bold the written text
	$result = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['Descripcion']);
	// add new option
    echo '<li onclick="set_item(\''.str_replace("'", "\'", $rs['Descripcion']).'\')">'.$result.'</li>';
}
?>
Archivo Script.js

Código:
// autocomplet : this function will be executed every time we change the text
function autocomplet() {
	var min_length = 0; // min caracters to display the autocomplete
	var keyword = $('#producto').val();
	if (keyword.length >= min_length) {
		$.ajax({
			url: 'P2/ajax_refresh.php',
			type: 'POST',
			data: {keyword:keyword},
			success:function(data){
				$('#producto_list_id').show();
				$('#producto_list_id').html(data);
			}
		});
	} else {
		$('#producto_list_id').hide();
	}
}
 
// set_item : this function will be executed when we select an item
function set_item(item) {
	// change input value
	$('#Producto').val(item);
	$('#Productof').val(item);
	// hide proposition list
	$('#producto_list_id').hide();
}
  #2 (permalink)  
Antiguo 14/05/2015, 16:53
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 12 años, 4 meses
Puntos: 10
Respuesta: Problema Autocomplete con dos valores e insertar Input Text

Por si aún lo ocupas:

Código PHP:
Ver original
  1. $uno = str_replace("'", "\'", $rs['Descripcion']);
  2. $dos = str_replace("'", "\'", $rs['codigoCliente']);
  3. $tres = str_replace("'", "\'", $rs['codigoUPC']);
  4. echo '<li onclick="set_item(\''.$uno.'\','\'.$dos.''\,'\'.$tres.'\')">'.$result.'</li>';

Archivo Script.js
Código Javascript:
Ver original
  1. function set_item(item,item2,item3) {
  2.     // change input value
  3.     $('#Producto').val(item);
  4.     $('#Productof').val(item);
  5.     // hide proposition list
  6.     $('#producto_list_id').hide();
  7.     $('#CodigoCliente').val(item2);
  8.     $('#CodigoUPC').val(item3);
  9. }

Etiquetas: ajax, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.