Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Select y AJAX

Estas en el tema de Select y AJAX en el foro de Javascript 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, 14:07
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta 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, 15:02
Avatar de iukaeru  
Fecha de Ingreso: mayo-2012
Mensajes: 127
Antigüedad: 12 años
Puntos: 12
Respuesta: Select y AJAX

Estás en un apartado de Javascript y lo que veo es puro PHP y para entender lo del COMPRAR que ejecuta la función en JS necesito ver la función en JS.
  #3 (permalink)  
Antiguo 12/06/2013, 16:24
 
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Select y AJAX

Tienes razón, perdona, lo cambio.
  #4 (permalink)  
Antiguo 12/06/2013, 16:37
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: Select y AJAX

Cita:
Iniciado por iukaeru Ver Mensaje
Estás en un apartado de Javascript y lo que veo es puro PHP y para entender lo del COMPRAR que ejecuta la función en JS necesito ver la función en JS.
Absolutamente cierto...

Lo que tienes que hacer es poner el identificador del zapato en la llamada de la funcion comprar:

echo "<td><input name=\"Comprar\" class=\"Comprar\" type=\"image\" src=\"imagenes/bot_cesta.png\" onclick=\"comprar($row['id']);\" /></td>";

Última edición por berserko; 12/06/2013 a las 16:38 Razón: escapar las comillas

Etiquetas: ajax, input, select
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 07:31.