Listeros,
Tengo un problema con un combo el cual es recargado por medio de Ajax. El mismo se recarga sin problemas y se puede seleccionar una opcion, pero luego de enviar los datos mediante post obtengo todos los valores excepto el de este combo. Estoy usando el metodo indicado en el libro; Aqui algo del codigo para ilustrar mejor:
Primera Parte:
<?= form_tag ("anticipo/guardar", "method: POST", "class: form","name: frm","id: frm") ?>
<table summary="Estados encontrados" class="" border="0" cellspacing="0">
<tbody>
<tr>
<td valign="middle" align="right"><label for="nombre">Personal:</label> </td>
<td valign="middle">
<?= select_tag("personal", "class: textbox", "id: personal") ?>
<?= option_tag("0", "Seleccione ...", "selected: true") ?>
<? foreach($Personal->find() as $persona) { ?>
<?= option_tag($persona->cedula,$persona->cedula.'->'.$persona->nombre.' '.$persona->apellido) ?>
<? } ?>
</select>
</td>
</tr>
<tr>
<td valign="middle" align="right"><label for="nombre">Relacion Previa:</label> </td>
<td valign="middle">
<div id='relacion'>
<?= select_tag("relacionprevia", "class: textbox", "id: relacionprevia") ?>
<?= option_tag("0", "Seleccione ...", "selected: true") ?>
</div>
</td>
</tr>
</tbody>
</table>
<input name="guardar" type="submit" value=" " class="buttons" />
<?= end_form_tag() ?>
<script type="text/javascript">
new Event.observe("personal", "change", function(){
new AJAX.viewRequest({
action: "anticipo/filtrarprevia/"+$F("personal"),
container: "relacion"
})
})
</script>
Sitio donde recarga:
<?= select_tag("relacionprevia", "class: textbox", "id: relacionprevia") ?>
<?= option_tag("0", "Seleccione ...", "selected: true") ?>
<? foreach($relaciones as $relacionp) { ?>
<?= option_tag("$relacionp->id",$relacionp->cedula.'->'.$relacionp->desde.'->'.$relacionp->hasta) ?>
<? } ?>
Controlador donde deben llegar los valores para actualizar:
function guardar($id = null) {
$this->sessionRedirect();
$this->before_filter('anticipo', 'guardar','');
//
Verifica si el modulo esta activo
$this->filter=$this->comprobar('anticipo', 'guardar','');
//
print("Personal:".$this->request('personal')." Relacion Previa: ".$this->request('relacionprevia')
}
Muchas gracias de antemano..
Saludos
Comentarios
Recientemente tube algunas batallitas con combos y ajax de la cual sali victorioso, por lo que creo poder ayudarte, pero necesito saber que version de kumbia estas usando, que te hace cuando actualizas el select personal? te lanza algun error? tienes el metodo filtrarprevia en anticipo? que codigo tienes en ese metodo? si tienes firebug instalado puedes ver que url te solicita al servidor cuando actualizas el select personal.
saludos
He dado muchas vueltas tratando de encontrar el error pero nada, por ahora lo que me resta es contar con la colaboración ustedes. No se si todavia no soy muy claro en mi planteamiento por lo que espero que me consulten cualquier otra duda al respecto...
saludos
Bueno a simple vista lo unico que encuentro objeto de cambio es lo siguiente:
<?= option_tag($relacionp->id,$relacionp->cedula.'->'.$relacionp->desde.'->'.$relacionp->hasta) ?>
sin comillas dobles.
prueba con eso.
Saludos
Yo estoy trabajando con la version 1.0.
Dejame terminar de probar un codigo y en caso de exito te lo envio a ver si te sirve de guia.
Saludos.