Hola gente, tengo una lista de productos donde cada producto tiene un select para seleccionar el modelo del producto.
![](http://k31.kn3.net/8/B/A/9/B/B/E8B.png)
Al seleccionar el modelo se me tiene que actualizar automaticamente 3 valores, "Precio" "Disponibilidad" y "Producto ID".
Con el siguiente código se me actualizan estos valores, el problema es que se me actualiza siempre y cuando sean un INPUT y esten uno seguido del otro y en mi codigo Precio si esta en un input, pero disponibilidad y producto id son variables php que estan como atributo html.
Les dejo el código:
Código Javascript
:
Ver original<script type="text/javascript">
//funcion que limpia los demas campos
function LimpiarInput(destino,destino2)
{
destino.value="";
}
//funcion que llena los datos
function LlenarDatos(text,destino,destino2)
{
var datos = text.split('|'); //dividimos los datos para colocarlos en el lugar correcto
destino.value = datos[0];
destino2.value = datos[1];
}
//fucion con la cual obtenemos los datos
function obten_datos(arrastre,destino,destino2)
{
//alert("arrastre: "+arrastre+" destino: "+destino+" destino2: "+destino2+" destino3: "+destino3+" destino4: "+destino4+" destino5: "+destino5);
destino = document.getElementById(destino);
destino2 = document.getElementById(destino2);
LimpiarInput(destino);
LimpiarInput(destino2);
if(arrastre.options[arrastre.selectedIndex].value != 0)
{
arrastre.disabled = true;
destino.disabled = true;
destino.value = 'Cargando Precio....';
destino2.disabled = true;
destino2.value = 'Cargando ID ....';
$.ajax({
type: 'get',
dataType: 'text',
url: 'catalog/model/catalog/obtendatos.php',
data: {valor: arrastre.options[arrastre.selectedIndex].value},
success: function(text){
LlenarDatos(text,destino,destino2);
arrastre.disabled = false;
destino.disabled = false;
destino.readOnly = true;
destino2.disabled = false;
destino2.readOnly = true;
}
});
}
}
</script>
<select name="name" id="name" onchange="javascipt:obten_datos(this,'price','product_id');">
<option value=" ">Seleccione cantidad</option>
<option value="<?php echo $result['model']; ?>"><?php echo $result['model']; ?></option>
</select>
Código PHP:
Ver original<?php
require_once('../../../config.php');
require_once(DIR_SYSTEM . 'startup.php');
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$valor = $_GET['valor'];
$resultado = mysql_query("SELECT * FROM product WHERE model LIKE '%" . $valor . "%'"); echo $row['price'].'|'.$row['product_id'];
return $dat = $row['price'].'|'.$row['product_id'];
?>
Y el codigo con el que se genera mi lista de productos:
Código HTML:
Ver original<div class="description"><?php echo $product['description']; ?></div> <?php if ($product['price']) { ?>
<input type="text" name="price" id="price" class="input_text" />
<?php if ($product['price']) { ?>
<?php echo $product['Disponibilidad']; ?>
<?php } ?><br /><br /> Cantidad:
<input type="text" name="quantity" value="" class="input-mini" id="quantity-<?php echo $product['product_id']; ?>"/>
<?php if ($product['Disponibilidad'] !== "Sin disponibilidad") { ?>
<input type="button" value="<?php echo $button_cart; ?>" onclick="addQtyToCart('
<?php echo $product['product_id']; ?>');" class="btn btn-cart btn-small" />
<?php } ?>
Yo necesitaria actualizar o cargar:
1. $product['product_id']
2. <input type="text" name="price" id="price" class="input_text" />
3. $product['Disponibilidad']
Es posible hacerlo?