Foros del Web » Programando para Internet » PHP »

Select y AJAX

Estas en el tema de Select y AJAX en el foro de PHP en Foros del Web. Buenas, Tengo una lista de productos en este caso zapatos, que varían de precio con las tallas. Lo cargo en una tabla en la que ...
  #1 (permalink)  
Antiguo 12/06/2013, 16:23
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Select y AJAX

Buenas,

Tengo una lista de productos en este caso zapatos, que varían de precio con las tallas. Lo cargo en una tabla en la que una columna es una select con la talla-precio. Y el último cuadro de cada fila es un botón de comprar.
Ese botón de comprar, llama a una función javascript para que meta en el carrito de la compra el producto correspondiente.
El problema es que al crear la tabla en un bucle, el select (combobox) se genera a cada fila con el mismo class y lo mismo con el botón y además en el fichero externo donde pongo el código javascript, total que cada producto que compre, sólo hace caso del primer combo que cargo, del resto, pasa... se os ocurre alguna manera de solucionarlo???
Pongo algo de código..
Código PHP:
while ($filas mysql_fetch_array($consulta)) {
        echo 
"<form class=\"contacto2\" name=\"mete_producto\">";

        
$contador $contador 1;

        echo 
"<tr id=R" $contador ">";
        echo 
"<td>" $filas['nombre'] . "</td>";
        echo 
"<td>" $filas['descripcion'] . "</td>";
        echo 
"<td>" $filas['Marca'] . "</td>";
        echo 
"<td>" $filas['sexo'] . "</td>";

        echo 
"<td><img name='imagen' src='" $filas['imagen'] . "' width='150' height='160' alt='" $filas['descripcion'] . "' </td>";

        
$query mysql_query("SELECT distinct talla,precio_original,dto_oferta,id FROM tallas where id_producto=" $filas['id'] . " order by talla asc");
        

        echo 
"<td><select class=\"zapato\" name=\"zapato\">";
        while (
$row mysql_fetch_array($query)) {
            if (
$row['dto_oferta'] <> 0) { $valor $row['precio_original'] - (($row['dto_oferta'] / 100) * $row['precio_original']);
            } else {
$valor $row['precio_original'];
            }
            echo 
"<option value=\"" $row['id'] . "\">" $row['talla'] . " - " $valor "</option>";
        }
        echo 
"</select></td>";

        echo 
"<td><input name=\"Comprar\" class=\"Comprar\" type=\"image\" src=\"imagenes/bot_cesta.png\" /></td>";
        echo 
"</form></tr>";
        

    } 
Como veis en el código, cuando clico en el botón con class "Comprar" se ejecuta la función Javascript de comprar, pero todo eso va bien, el problema es que el valor zapato, que es el único que me interesa, siempre es el mismo.... Y necesito que cuando clique en el botón de añadir de cada fila, sea ese valor seleccionado del select el que se envie.

Espero haberme explicado..

Gracias!
  #2 (permalink)  
Antiguo 12/06/2013, 16:52
 
Fecha de Ingreso: noviembre-2011
Mensajes: 55
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: Select y AJAX

Lo primero es idetificar cada fila correctamente, que asi como lo tienes esta bien.
R1, R2...

Para que la funcion javascript ejecute solo la fila que se quiere, deberia pasar un parametro...
por ejemplo


onclick='funcionjs($id_producto ... ó .... $valor_producto.... o ambos)'

luego en tu funcion JS recepcionas el parametro.....

Al menos siempre lo hago asi y funciona :)

Otra cosa... escribir

echo "<td><select class=\"zapato\" name=\"zapato\">";

es lo mismo que :

echo "<td><select class='zapato' name='zapato'>";

Aunque lo ideal es no generar codigo html con php.


Saludos.
  #3 (permalink)  
Antiguo 12/06/2013, 18:43
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Select y AJAX

Muchas gracias! Pero sin embargo...

Si cuando creo el botón le anado el onclick='Comprar(paramentro)'
El parámetro tendría que ser el id de la select que se ha creado anteriormente, no?
Como puedo pasar ese valor??

Thks
  #4 (permalink)  
Antiguo 13/06/2013, 10:33
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Select y AJAX

Es decir, que cuando se crea la combo, alomejor tiene 4 diferentes id. Y entonces luego crea el botón. Si pulso el botón pasando un parámetro a la función Comprar($row(id)) me pasará el valor del último id de la combo... no el valor seleccionado en ella, no?

Etiquetas: ajax, mysql, select, tabla
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 11:23.