Si es por el id.
Te dejo un ejemplo de como sería:
Código PHP:
Ver original<?php
?>
<div>
<input type="hidden" class="idvila" value="<?php echo $row['idvila']; ?>" />
<input type="text" class="idsemana" value="<?php echo $row['idsemana']; ?>" />
<input type="text" class="tarifa" value="<?php echo $row['tarifa']; ?>" />
<input type="text" class="dispo" value="<?php echo $row['dispo']; ?>" />
</div>
<?php
}
?>
Código Javascript
:
Ver original$('input').change(function(){
var padre = $(this).parent();
var idvila = $('.idvila',padre).val();
var idsemana = $('.idsemana',padre).val();
var tarifa = $('.tarifa',padre).val();
var dispo = $('.dispo',padre).val();
$.ajax({
url:"modificarprecio.php",
type:"POST",
data: "idvila=" + idvila + "&idsemana=" + idsemana + "&tarifa=" + tarifa + "&dispo="+ dispo,
error:function(){
alert('Failed');
},
success:function(msg){
alert('Success hola: ' + msg);
}
});
});
Fíjate en el div que encubre todos los input, es muy importante para que el javascript funcione bien. Lo que hago en el javascript es ver que input ha cambiado a partir del elemento padre (el div) y luego recoge los valores mediante la clase del elemento, si te fijas bien.
Hay más maneras, pero esta es una. En vez del div, puedes usar un form si lo prefieres. Si usas un formulario, puedes usar el método serialize para crear la cadena de parámetros de forma muy sencilla, aunque tendrías que ponerles el atributo name:
Código PHP:
Ver original<?php
?>
<div>
<input type="hidden" name="idvila" value="<?php echo $row['idvila']; ?>" />
<input type="text" name="idsemana" value="<?php echo $row['idsemana']; ?>" />
<input type="text" name="tarifa" value="<?php echo $row['tarifa']; ?>" />
<input type="text" name="dispo" value="<?php echo $row['dispo']; ?>" />
</div>
<?php
}
?>
Código Javascript
:
Ver original<form>
<input type="hidden" name="idvila" class="idvila" value="idvila_1" />
<input type="text" name="idsemana" class="idsemana" value="idsemana_1" />
<input type="text" name="tarifa" class="tarifa" value="tarifa_1" />
<input type="text" name="dispo" class="dispo" value="dispo_1" />
</form>
<form>
<input type="hidden" name="idvila" class="idvila" value="idvila_1" />
<input type="text" name="idsemana" class="idsemana" value="idsemana_1" />
<input type="text" name="tarifa" class="tarifa" value="tarifa_1" />
<input type="text" name="dispo" class="dispo" value="dispo_1" />
</form>