Llamo a esta función php desde la página donde quiero mostrar los precios
Código PHP:
function comboAtributos($cod_atrib,$prod)
{
$link = getConnection();
$sql = "SELECT * FROM atributos WHERE cod_atributo = " . $cod_atrib;
$result = mysql_query($sql,$link);
while ($row = mysql_fetch_array($result))
{
echo "<select id='opcion' name='opcion' >";
for ($i=0; $i<=20; $i++)
{
if ($row["opcion".$i] != "")
{
if ($row["oferta".$i] != "" && $row["oferta".$i] != "0")
{
/*echo "<script language='javascript'>window.mostrarPrecio(".$row["var0"].",".$row["oferta0"].",".$prod.");</script>";*/
echo "<option onClick='window.mostrarPrecio(".$row["var".$i].",".$row["oferta".$i].",".$prod.");' value='". $row["oferta".$i].",". $row["opcion".$i].",". $row["nombre"]."'>" . $row["opcion".$i] . " </option>\r\n";
}
else
{
/*echo "<script language='javascript'> mostrarPrecio1(".$row["var0"].",".$prod.") </script>";*/
echo "<option onclick='mostrarPrecio1(".$row["var".$i].",".$prod.")' value='". $row["var".$i].",". $row["opcion".$i].",". $row["nombre"]."'>" . $row["opcion".$i] . " </option>\r\n";
}
}
}
}
echo "</select>";
}
Código:
Como podéis ver, esta función cambia los caracteres de una cadena por imágenes, que finalmente se cargan en los siguientes “div”:function mostrarPrecio(precio,precioOferta,prod) { if (precioOferta != "" && precioOferta != "0" && precioOferta != "undefined") { var valor = precioOferta + ""; var textoDiv = ""; for (var j = 0; j < valor.length; j++) { if (valor.charAt(j) == '.') { textoDiv = textoDiv + "<img src=images/precios/dot.gif />"; } else { textoDiv = textoDiv + "<img src=images/precios/grandes/"+ valor.charAt(j) +".gif />"; } } textoDiv = textoDiv + "<img src='images/precios/euroPortada.gif' />" contenedorOferta = document.getElementById("contenedorOferta" + prod); contenedorOferta.innerHTML = textoDiv; var valor = precio + ""; var textoDiv = ""; for (var j = 0; j < valor.length; j++) { if (valor.charAt(j) == '.') { textoDiv = textoDiv + "<img src=images/precios/dot.gif />"; } else { textoDiv = textoDiv + "<img src=images/precios/grandes/"+ valor.charAt(j) +"no.gif />"; } } textoDiv = textoDiv + "<img src='images/precios/euroPortada.gif' />" contenedorPrecio = document.getElementById("contenedorPrecio" + prod); contenedorPrecio.innerHTML = textoDiv; } }
Código HTML:
echo "<div id='contenedorPrecio".$prod."' class='precioFicha'> </div>"; echo "<div id='contenedorOferta".$prod."' class='precioFichaOferta'> </div>";
He probado a utilizar AJAX, concretamente una clase para php llamada XAJAX. Funciona bien en los dos exploradores pero solo con “inputs” distintos de “select”. Este solo funciona para firefox.
Llevo dos semanas dándole vueltas al tema y he decidido escribiros finalmente, porque pienso que alguna solución habrá para adaptar este código que os traigo a el maldito Internet Explorer.
Gracias de antemano y un saludo.
Sois de una ayuda incalculable.