Autor Tema: Combobox dependientes  (Leído 14097 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado –•(-•Pikachu•-)•–

  • -*-Miembro Eterno-*-
  • The Communiter-
  • *****
  • Mensajes: 1577
  • saludos a mis fans
Re: Duda sobre pagina en java
« Respuesta #15 : enero 09, 2012, 08:36:52 pm »
vaya, ahora ya se entiende.



de esto de arriba puedo ver:

4 dropdowns que sirven de filtro para extraer informacion:
en cada onchange de los dropdowns se envia un request a la siguiente url
http://www.exide.com.mx/lib/getBuscaBat.php?option=X&data=Y~Z
donde X, Y y Z son variables que se extraen de los dropdowns
el resultado viene directamente en HTML, solo para hacer un PASTE en el selector del dom correspondiente.

de todo esto que queres?

queres solo los dropdowns relacionados?
queres que una vez seleccionado los dropdowns se busque la informacion?
o queres TODOS LOS DATOS QUE CADA COMBINACION DA?

todo se puede sacar, solo explica que queres


pues lo quiero todo :D

al fin alguien me entendió  :)

ojala que también alguien me ayude con eso!  :thumbsup:
« Última Modificación: enero 09, 2012, 08:49:25 pm por –•(-•Pikachu•-)•– »

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Duda sobre pagina en java
« Respuesta #16 : enero 09, 2012, 08:53:04 pm »
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Duda sobre pagina en java
« Respuesta #17 : enero 09, 2012, 08:54:17 pm »
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.
creo que quiere todo lo que hace, controles busqueda y muestra de datos, todo OFFLINE.

con un fetching de todas las combinaciones se hace en unos 15 minutos
N/A

Desconectado –•(-•Pikachu•-)•–

  • -*-Miembro Eterno-*-
  • The Communiter-
  • *****
  • Mensajes: 1577
  • saludos a mis fans
Re: Duda sobre pagina en java
« Respuesta #18 : enero 09, 2012, 08:57:34 pm »
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.

creo que quiere todo lo que hace, controles busqueda y muestra de datos, todo OFFLINE.

con un fetching de todas las combinaciones se hace en unos 15 minutos

justamente naruto explico lo que necesito!
perdon por no saber explicarme :(

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Combobox dependientes
« Respuesta #19 : enero 10, 2012, 04:07:23 pm »
Estaba viendo el codigo de esa pagina y como que lo han hecho con las patas. Asi como dice Naruto, cada ves que un elemento select cambia, este hace un request hacia getBuscaBat.php esto no estaria tan mal si tuvieras una cantidad de datos inmensa, lo peor de todo es que la response de el servidor llega en text/html.

Servir html mediante Ajax requests en estos tiempos es un mal patron a seguir. Solo me recuerda bastante al terrible RJS en versiones previas de Ruby on Rails, cuando el framework mandaba respuestas de typo text/javascript.

Este tipo de patrones es bastate comun para los programadores de PHP. Mi consejo siempre es mandar respuestas en formato JSON si vas a usar Ajax, y de ser posible manda todo de un solo y construi el HTML en el lado del cliente. Si sos desarrollador web y enfrentas problemas como estos, veni a preguntar a SVC para recibir orientacion.

Para ejemplificar lo que estoy diciendo, esta es una respuesta text/html de esa pagina
Código: [Seleccionar]
<select name='cMarca' id='cMarca' style='width:185px;' onchange='updCombo(2,this.options[this.selectedIndex].value)'>
  <option value='0' selected='selected'> -- Marca -- </option>
  <option value='18'> ACURA </option>
  <option value='19'> ALFA ROMEO </option>
  <option value='20'> AUDI </option>
  <option value='21'> BMW </option>
  <option value='22'> BUICK </option>
  <option value='23'> CADILLAC </option>
  <option value='24'> CHEVROLET </option>
  <option value='25'> CHEVROLET GMC </option>
  <option value='26'> CHEVROLET PICKUP </option>
  <option value='27'> CHRYSLER, DODGE Y JEEP </option>
  <option value='28'> FAW </option>
  <option value='29'> FIAT </option>
  <option value='30'> FORD </option>
  <option value='31'> HONDA </option>
  <option value='32'> HUMMER </option>
  <option value='33'> ISUZU </option>
  <option value='34'> JAGUAR </option>
  <option value='35'> LAND ROVER </option>
  <option value='36'> LINCOLN </option>
  <option value='37'> MAZDA </option>
  <option value='38'> MERCEDES BENZ </option>
  <option value='39'> MG ROVER </option>
  <option value='40'> MINI COOPER </option>
  <option value='41'> MITSUBISHI </option>
  <option value='42'> NISSAN </option>
  <option value='43'> PEUGEOT </option>
  <option value='44'> PIAGGIO </option>
  <option value='45'> PONTIAC </option>
  <option value='46'> PORSCHE </option>
  <option value='47'> RENAULT </option>
  <option value='48'> SAAB </option>
  <option value='49'> SEAT </option>
  <option value='50'> SMART </option>
  <option value='51'> SUBARU </option>
  <option value='52'> SUZUKI </option>
  <option value='53'> TOYOTA </option>
  <option value='54'> VAM </option>
  <option value='55'> VOLKSWAGEN </option>
  <option value='56'> VOLVO </option>
</select>


Cuando una respuesta application/json (header oficial puede variar para otros clientes) seria asi

Código: [Seleccionar]
{ "18": "ACURA",
  "19": "ALFA ROMEO",
  "20": "AUDI",
  "21": "BMW",
  "22": "BUICK",
  "23": "CADILLAC",
  "24": "CHEVROLET",
  "25": "CHEVROLET GMC",
  "26": "CHEVROLET PICKUP",
  "27": "CHRYSLER, DODGE Y JEEP",
  "28": "FAW",
  "29": "FIAT",
  "30": "FORD",
  "31": "HONDA",
  "32": "HUMMER",
  "33": "ISUZU",
  "34": "JAGUAR",
  "35": "LAND ROVER",
  "36": "LINCOLN",
  "37": "MAZDA",
  "38": "MERCEDES BENZ",
  "39": "MG ROVER",
  "40": "MINI COOPER",
  "41": "MITSUBISHI",
  "42": "NISSAN",
  "43": "PEUGEOT",
  "44": "PIAGGIO",
  "45": "PONTIAC",
  "46": "PORSCHE",
  "47": "RENAULT",
  "48": "SAAB",
  "49": "SEAT",
  "50": "SMART",
  "51": "SUBARU",
  "52": "SUZUKI",
  "53": "TOYOTA",
  "54": "VAM",
  "55": "VOLKSWAGEN",
  "56": "VOLVO"}

* si los valores que mandas, son secuenciales usa un array con el index 0 como punto de comienzo.

Código: [Seleccionar]
[ "18", "ACURA", "ALFA ROMEO", "AUDI", "BMW", "BUICK", "CADILLAC", "CHEVROLET",
  "CHEVROLET GMC", "CHEVROLET PICKUP", "CHRYSLER, DODGE Y JEEP", "FAW", "FIAT",
  "FORD", "HONDA", "HUMMER", "ISUZU", "JAGUAR", "LAND ROVER", "LINCOLN", "MAZDA",
  "MERCEDES BENZ", "MG ROVER", "MINI COOPER", "MITSUBISHI", "NISSAN", "PEUGEOT",
  "PIAGGIO", "PONTIAC", "PORSCHE", "RENAULT", "SAAB", "SEAT", "SMART", "SUBARU",
  "SUZUKI", "TOYOTA", "VAM", "VOLKSWAGEN", "VOLVO" ]


Luego construis el HTML usando JavaScript. Hay bastantes beneficios, como

* consumir menos ancho de banda
* repuestas mas rápidas
* podes usar multiples clientes, no solo el buscador de internet
« Última Modificación: enero 10, 2012, 04:13:50 pm por JaiMe »
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson