Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: sagdec en 25 Junio 2013, 03:57 am



Título: Problema con el autocompletado
Publicado por: sagdec en 25 Junio 2013, 03:57 am
Que tal amigos, tengo un pequeño problema con el autocomplete en mi programa les explico, tengo un boton que me genera 4 campos de texto las veces que quiera, en uno de los campos quiero aplicar el autocomplete desde una base de datos hasta ahi todo bien, el problema es que no me funciona con el campo que quiero es decir con los que se crean dinamicamente ya probe usando el id o agregandole una clase para identificar el campo pero nomas no funciona, solo funciona con los campos fijos es decir los estaticos.
Les dejo el codigo con el cual genero los campos dinamicos:
Código:
//------------------------------- FUNCION QUE GENERA LOS CAMPOS DINAMICOS PARA LOS ARTICULOS -------------------------//
var contLin = 1, tr, td, tabla;
function agregar() {

document.getElementById("OcultoContLin").value = contLin;
tabla = document.getElementById('TablaMed');
tr = tabla.insertRow(tabla.rows.length);
td = tr.insertCell(tr.cells.length);
// agregar [+ contLin] para asignar un numero a cada identificador del input text
var Art="articulo"+contLin;
var Can="cantidad"+contLin;
var Tot="total"+contLin;
var PUn="precioUnitario"+contLin;

td.innerHTML = "<input type='text' size='15' name='"+Art+"' id='"+Art+"' class='articulo' >";
td = tr.insertCell(tr.cells.length);

td.innerHTML = "<input type='text' size='15' name='"+Can+"' id='"+Can+"'  >";
td = tr.insertCell(tr.cells.length);

td.innerHTML = "<input type='text' size='15' name='"+PUn+"' id='"+PUn+"' >";
td = tr.insertCell(tr.cells.length);

td.innerHTML = "<input type='text' size='15' name='"+Tot+"' id='"+Tot+"' class='importe_linea'  onFocus=\"calcular('"+Can+"','"+PUn+"','"+Tot+"');\"  >";
td = tr.insertCell(tr.cells.length);

contLin++;
}

luego con jquery, php y BD hago una consulta del texto que se ingrese en el campo y busco en la base de datos para obtener el nombre:
Código:
//*****------------------------------------- FUNCION PARA AUTOCOMPLETAR -----------------------------------------------------------------//
$().ready(function() {
    $(".articulo").autocomplete("autocompletar.php", {
        width: 260,
        matchContains: true,
        selectFirst: false
    });
});

Aqui la busqueda en la BD:
Código:
$host_name = 'localhost';
$user_name = 'root';
$pass_word = '';
$database_name = 'nucleo';

$conn = mysql_connect($host_name, $user_name, $pass_word) or die ('Error connecting to mysql');
mysql_select_db($database_name);

$q = strtolower($_GET["q"]);
if (!$q) return;
 
$sql = "select DISTINCT art as art FROM articulos WHERE art LIKE '%$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
    $cname = $rs['art'];
    echo "$cname\n";
}

En teoria el codigo si funciona bien excepto que no lo hace con el campo dinamico que estoy generando alguien sabe porque no funciona?

saludos