JS - Ayuda para hacer combo con filtro

otheR

Buenos días!

Nunca he tocado archivos .js y me han soltado ahora en un proyecto donde voy a mamar bastante. El asunto es que el portal que me han mandado modificar suele usar .jsp, donde meten JS, HTML y m4tags (una herramienta de bbdd). El asunto es que este apartado es el Alta y funciona de una forma dinámica que no llego a entender del todo.

La problemática es que tenían implantado en el campo de Municipio un campo libre donde podían poner los de RRHH lo que les saliera del cimbrel, veáse Varzelona. Y el problema es que eso luego no se mete bien en la bbdd porque obviamente no hay forma normal de correlacionar eso a Barcelona.

Pues bien, necesito saber cómo hacer un filtro en un combo. Seleccionar País, que si es España me devuelva las Provincias de ésta (ésto ya está implantado pero por lo que me ha parecido ver, está implantado de tal forma que no hace filtro, simplemente cuando seleccionas España te devuelve toda la tabla de Provincias, sin más) y a su vez, que es lo que estoy intentado hacer, que cuando yo seleccione una provincia, por ejemplo Madrid, haga un filtrado por su ID y me devuelva todos los municipios de esa provincia.

De momento simplemente tengo implantado que salga en el combo todos los municipios, pero claro, 8mil y pico que son... mal. Tarda hasta en cargar el portal y a veces se tuesta.

También he visto que hace cosas muy chungas que no sé ni por dónde coger en JQuery... Es un código gordo pues la empresa que lo ha desarrollado es muy, pero que muy grande.

Si sirve de ayuda, diré que usa Meta4 y en principio en la herramienta ya está hecho el filtro con sus selects de SQL.

Un saludo y gracias!

PaCoX

por si te sirve de ayuda
usando api google:
https://developers.google.com/maps/documentation/javascript/places-autocomplete#address_forms

esta usa dos metodos, jquery-live-search y carga de combos por boton
http://www.ine.es/nomen2/index.do

y de aqui bajate la tabla de municipio buena
https://www.sepe.es/DocumComunicacto/xml/ayudatablasxml/TABLASXML50.zip

1 respuesta
Mortium

Meta4 no por favor....

1 respuesta
otheR

#2 gracias, pero el API de Google no puedo usarlo. Es una modificación para el aplicativo de RRHH y, en principio, he usar solo scripts con librerías propias. La tabla ya la tenemos creada y actualizada.

#3 Jajaja por qué dices eso? No está mal para gestionar bbdd, además muchas grandes de España lo usan. En el cliente donde estoy maneja unos cuantos miles de tiendas y otros miles de empleados a nivel internacional

yarviT0

si tienes una api propia puedes usar https://twitter.github.io/typeahead.js/ para hacer los autocompletados, especificas tu API con los filtros y au

edbusy

#1 Lo que quieres hacer es esto? https://iagolast.github.io/pselect/

isvidal

Bueno, yo no cargaría 8000 mil registros, pon que el selector de municipios se cargue con ajax una vez se selecciona la provincia. Asi limitas los municios cargados a los de la provincia seleccionada y no sobrecargas el select.

¿ Como se hace esto ? Pues puedes hacer con jQuery con $.ajax o con un javascript normal usando fetch()

Luegos necesitas un controllador o una api que te responda en JSON y te devuelva los municios en funcion de la ID que tu pasas.

2

Usuarios habituales

  • isvidal
  • edbusy
  • yarviT0
  • otheR
  • Mortium
  • PaCoX