Ver Mensaje Individual
  #18 (permalink)  
Antiguo 19/01/2011, 19:56
Avatar de Prais
Prais
 
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 14 años, 2 meses
Puntos: 6
Exclamación Respuesta: Rescatar dos id con funcion de jquery

Dany_S y marlanga: ya se donde esta la embarrada un detalle que no mencione, y por el codigo de Dany-S, me hace ver lo que sucede(creo):
Primero: probe tu codigo Dany_S, y efectivamente funciona y rescata los valores. ahora que sucede les cuento:
Volvamos al principio:
El famoso y ya odiado select2, es el select hijo de un select padre. aver, tengo un select de cliente.ok, que esta en arriendo.php(es mi pagina principal), este select se carga de una consulta sql, hasta ahi perfecto. Que hago, deacuerdo al cliente elegido en este select, se carga automaticamente El famoso y ya odiado select2, con las obras asociadas al cliente.ok. osea tenemos los famosos select dependiente.
Esta dependencia la hago con ajax, que captura el id seleccionado en el select padre(cliente) y se lo envia al select que le he posteado:
Código PHP:
Ver original
  1. <?php include("conexion.php");
  2. $id_cliente=$_REQUEST['id_cliente'];?>
  3. <select name="Select2" id="Select2" align="middle" onChange="Obra(this.value)">
  4. <option value="" selected="selected">[Seleccione]</option>
  5. <?php $SqlQuery=mysql_query("select ID_OBRA,DE_NOMBRE from lk_lug_obra  where ID_CLIENTE='$id_cliente' order by DE_NOMBRE asc",$cn);
  6. while ($AccesaRegP=mysql_fetch_array($SqlQuery))
  7. { ?>
  8. <option value="<?=$AccesaRegP['ID_OBRA']?>"rel="<?= $id_cliente ?>"><?php echo htmlentities($AccesaRegP['DE_NOMBRE']) ?></option>
  9.     <?php }?>
  10. </select>
este select captura el id_cliente y lo consulta e imprime las obras asociadas al cliente. donde esta la cagada, es que este select se carga en un archivo aparte:
CargaSelectObra.php, estando solo el select este en este archivo, entonces todo lo que se arroja como resultado aca se pasa al select2 que tengo en mi pagina principal: arriendo.php,
y el select2 de arriendo.php es este:
Código PHP:
Ver original
  1. <div id="RescataObra" align="left">
  2.  <select name="Select2" id="Select2" align="middle" onChange="Obra(this.value)">
  3.       <option value="" selected="selected">[Seleccione]</option>
  4. </select></div>
que esta a la espera de lo que arroje el select2 de
CargaSelectObra.php y se imprime aca en mi pagina principal arriendo.php.
Ahora que sucede pruebo el ejemplo de Dany-S el mismo que postio en mi pagina principal arriendo.php y funciona. pero si coloco su select en el archivo CargaSelectObra.php, no lo toma.
Entonces por logica Marlanga estamos capturando el id y el rel del select que se imprime en CargaSelectObra.php, lo que si me llama la atencion que captura de igual forma el id_obra y no el id_cliente, si no lo tomara no tomaria ninguno.
pero el ejemplo de Dany_S sirve, solo cuando esta todo en un mismo archivo.(ya lo probe), y Marlanga si saco el onchange(ya lo hice), no hace absolutamente nada la funcion, y logico ya que la funcion:
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("#Select2").change(function(){
  3.         Obra($(this).val(),$("option:selected",$(this)).attr("rel"));  
  4.     })
  5. });
  6.       function Obra(obra,cliente){
  7.       alert("id obra ="+obra+"id cliente="+cliente); //Comprobar si llegan los datos y borrarlo cuando todo funcione
  8.     $.getJSON("LlenaDatosObra.php?ID_OBRA="+obra+"&ID_CLIENTE="+cliente, function(datos) {
  9. <!-- ************  CARGANDO OBRA ************************ -->
  10. document.FormData.de_numero.value=datos.obra.DE_NUMERO;
  11. document.FormData.Obra_telefono.value=datos.obra.DE_TELEFONO;
  12. document.FormData.Obra_fax.value=datos.obra.DE_FAX;
  13. document.FormData.Obra_direccion.value=datos.obra.DE_DIRECCION;
  14. <!-- ************  CARGANDO CLIENTE ************************ -->
  15. document.FormData.id_rut.value=datos.cliente.ID_RUT;
  16. document.FormData.de_dv.value=datos.cliente.DE_DV;
  17. document.FormData.de_telefono.value=datos.cliente.DE_TELEFONO;
  18. document.FormData.de_fax.value=datos.cliente.DE_FAX;
  19. document.FormData.de_direccion.value=datos.cliente.DE_DIRECCION;
  20.     });
  21. }
queda capturando al select que esta en arriendo.php
Código PHP:
Ver original
  1. <div id="RescataObra" align="left">
  2. <select name="Select2" id="Select2" align="middle" onChange="Obra(this.value)">
  3. <option value="" selected="selected">[Seleccione]</option>
  4. </select>
.
Por eso creo hemos tenido tantas trabas.-
y Dany_S, esta muy bueno el ejemplo, sin duda lo guardo en mi coleccion de script.