Dropdown for locality depending on District dropdown
-
Hello,
Is there a better way to create a locality dropdown which depends on the choice from the district dropdown?
Right now I have a different dropdown field for each district selected, and the conditions for that, but it can leave a lot of room for mistakes.
Thank you.
-
Have you seen “Choices Callback Feature in UM 2.1+”?
https://docs.ultimatemember.com/article/1539-choices-callback-feature-in-um-2-1
Hello,
I didn’t know about that feature.
However, how can I use the filter in that case for the city in the user directory?
Thank you.-
This reply was modified 2 years, 1 month ago by
Jack.
Both District and City will have their own meta_keys/values.
Hello,
How can I prevent this issue of “No Results Found” while the ajax is calling the callback to fetch the cities?
Here’s a video demonstrating this: https://vimeo.com/797950730
Thank you.Can you post here in the Forum with formatting
CODE
your code snippets.Hello @missveronicatv
I used the example code in the link to make it work for my case, here’s the code:
function custom_district_list_dropdown() { $coutries = array( "Aveiro" => "Aveiro", "Beja" => "Beja" , "Braga" => "Braga" , "Bragan?a" => "Bragan?a" , "Castelo Branco" => "Castelo Branco" , "Coimbra" => "Coimbra" , "évora" => "évora" , "Faro" => "Faro" , "Guarda" => "Guarda" , "Leiria" => "Leiria" , "Lisboa" => "Lisboa" , "Portalegre" => "Portalegre" , "Porto" => "Porto" , "Santarém" => "Santarém" , "Setúbal" => "Setúbal" , "Viana do Castelo" => "Viana do Castelo" , "Vila Real" => "Vila Real" , "Viseu" => "Viseu" , "Madeira" => "Madeira" , "A?ores" => "A?ores" , ); return $coutries; } function getCitiesDropdownList( $has_parent = false ){ $parent_options = isset( $_POST['parent_option'] ) ? $_POST['parent_option'] : false; $all_options = Array( 'Aveiro' => Array ( 'Albergaria-a-Velha' => 'Albergaria-a-Velha', 'Anadia' => 'Anadia', 'Argoncilhe' => 'Argoncilhe', 'Arouca' => 'Arouca', 'Aveiro' => 'Aveiro', 'Castelo de Paiva' => 'Castelo de Paiva', 'Espinho' => 'Espinho', 'Estarreja' => 'Estarreja', 'Fermentelos' => 'Fermentelos', 'Gafanha da Nazaré' => 'Gafanha da Nazaré', 'Mealhada' => 'Mealhada', 'Murtosa' => 'Murtosa', 'Oliveira de Azemeis' => 'Oliveira de Azemeis', 'Oliveira do Bairro' => 'Oliveira do Bairro', 'Ovar' => 'Ovar', 'Santa Maria da Feira' => 'Santa Maria da Feira', 'Sever do Vouga' => 'Sever do Vouga', 'S?o Jo?o da Madeira' => 'S?o Jo?o da Madeira', 'Vagos' => 'Vagos', 'Vale de Cambra' => 'Vale de Cambra', 'águeda' => 'águeda', 'ílhavo' => 'ílhavo', ), 'Porto' => Array ( 'Alfena' => 'Alfena', 'Amarante' => 'Amarante', 'Arcozelo' => 'Arcozelo', 'Aver-o-Mar' => 'Aver-o-Mar', 'Bai?o' => 'Bai?o', 'Castel?es de Cepeda' => 'Castel?es de Cepeda', 'Ermezinde' => 'Ermezinde', 'Felgueiras' => 'Felgueiras', 'Gondomar' => 'Gondomar', 'Lousada' => 'Lousada', 'Mafamude' => 'Mafamude', 'Maia' => 'Maia', 'Marco de Canavezes' => 'Marco de Canavezes', 'Matosinhos' => 'Matosinhos', 'Olival' => 'Olival', 'Paredes' => 'Paredes', 'Pa?os de Ferreira' => 'Pa?os de Ferreira', 'Penafiel' => 'Penafiel', 'Porto' => 'Porto', 'Póvoa de Varzim' => 'Póvoa de Varzim', 'Rio Tinto' => 'Rio Tinto', 'Santo Tirso' => 'Santo Tirso', 'Trofa' => 'Trofa', 'Valadares' => 'Valadares', 'Valongo' => 'Valongo', 'Vila Nova de Gaia' => 'Vila Nova de Gaia', 'Vila do Conde' => 'Vila do Conde', ), 'Viseu' => Array ( 'Armamar' => 'Armamar', 'Canas de Senhorim' => 'Canas de Senhorim', 'Carregal do Sal' => 'Carregal do Sal', 'Castro Daire' => 'Castro Daire', 'Cinf?es' => 'Cinf?es', 'Lamego' => 'Lamego', 'Mangualde' => 'Mangualde', 'Moimenta da Beira' => 'Moimenta da Beira', 'Mortágua' => 'Mortágua', 'Nelas' => 'Nelas', 'Oliveira de Frades' => 'Oliveira de Frades', 'Penalva do Castelo' => 'Penalva do Castelo', 'Penedono' => 'Penedono', 'Resende' => 'Resende', 'Santa Comba D?o' => 'Santa Comba D?o', 'Sernancelhe' => 'Sernancelhe', 'Sát?o' => 'Sát?o', 'S?o Jo?o da Pesqueira' => 'S?o Jo?o da Pesqueira', 'S?o Pedro do Sul' => 'S?o Pedro do Sul', 'Tabua?o' => 'Tabua?o', 'Tarouca' => 'Tarouca', 'Tondela' => 'Tondela', 'Vila Nova de Paiva' => 'Vila Nova de Paiva', 'Viseu' => 'Viseu', ), 'Braga' => Array ( 'Amares' => 'Amares', 'Barcelos' => 'Barcelos', 'Braga' => 'Braga', 'Cabeceiras de Basto' => 'Cabeceiras de Basto', 'Celeiroz' => 'Celeiroz', 'Celorico de Basto' => 'Celorico de Basto', 'Esposende' => 'Esposende', 'Fafe' => 'Fafe', 'Famalic?o' => 'Famalic?o', 'Ferreiros' => 'Ferreiros', 'Guimar?es' => 'Guimar?es', 'Joane' => 'Joane', 'Póvoa de Lanhoso' => 'Póvoa de Lanhoso', 'Real' => 'Real', 'Riba de Ave' => 'Riba de Ave', 'Terras de Bouro' => 'Terras de Bouro', 'Vieira do Minho' => 'Vieira do Minho', 'Vila Verde' => 'Vila Verde', 'Vizela' => 'Vizela', ), 'Vila Real' => Array ( 'Alijó' => 'Alijó', 'Boticas' => 'Boticas', 'Chaves' => 'Chaves', 'Mes?o Frio' => 'Mes?o Frio', 'Mondim de Basto' => 'Mondim de Basto', 'Montalegre' => 'Montalegre', 'Mur?a' => 'Mur?a', 'Peso da Régua' => 'Peso da Régua', 'Ribeira de Pena' => 'Ribeira de Pena', 'Sabrosa' => 'Sabrosa', 'Santa Marta de Penagui?o' => 'Santa Marta de Penagui?o', 'Valpa?os' => 'Valpa?os', 'Vila Pouca de Aguiar' => 'Vila Pouca de Aguiar', 'Vila Real' => 'Vila Real', ), 'Coimbra' => Array ( 'Arganil' => 'Arganil', 'Cantanhede' => 'Cantanhede', 'Coimbra' => 'Coimbra', 'Condeixa-a-Nova' => 'Condeixa-a-Nova', 'Figueira da Foz' => 'Figueira da Foz', 'Góis' => 'Góis', 'Lorv?o' => 'Lorv?o', 'Lous?' => 'Lous?', 'Mira' => 'Mira', 'Miranda do Corvo' => 'Miranda do Corvo', 'Montemor-o-Velho' => 'Montemor-o-Velho', 'Oliveira do Hospital' => 'Oliveira do Hospital', 'Pampilhosa da Serra' => 'Pampilhosa da Serra', 'Penacova' => 'Penacova', 'Penela' => 'Penela', 'Poiares' => 'Poiares', 'Soure' => 'Soure', 'Trouxemil' => 'Trouxemil', 'Tábua' => 'Tábua', ), 'Guarda' => Array ( 'Aguiar da Beira' => 'Aguiar da Beira', 'Almeida' => 'Almeida', 'Celorico da Beira' => 'Celorico da Beira', 'Figueira de Castelo Rodrigo' => 'Figueira de Castelo Rodrigo', 'Fornos de Algodres' => 'Fornos de Algodres', 'Gouveia' => 'Gouveia', 'Guarda' => 'Guarda', 'Manteigas' => 'Manteigas', 'Mêda' => 'Mêda', 'Pinhel' => 'Pinhel', 'Sabugal' => 'Sabugal', 'Seia' => 'Seia', 'Trancoso' => 'Trancoso', 'Vila Nova de Foz C?a' => 'Vila Nova de Foz C?a', ), 'Viana do Castelo' => Array ( 'Arcos de Valdevez' => 'Arcos de Valdevez', 'Arcozelo' => 'Arcozelo', 'Caminha' => 'Caminha', 'Melga?o' => 'Melga?o', 'Mon??o' => 'Mon??o', 'Paredes de Coura' => 'Paredes de Coura', 'Ponte da Barca' => 'Ponte da Barca', 'Ponte de Lima' => 'Ponte de Lima', 'Valen?a' => 'Valen?a', 'Viana do Castelo' => 'Viana do Castelo', 'Vila Nova de Cerveira' => 'Vila Nova de Cerveira', ), 'Bragan?a' => Array ( 'Alfandega da Fé' => 'Alfandega da Fé', 'Bragan?a' => 'Bragan?a', 'Carrazeda de Anci?es' => 'Carrazeda de Anci?es', 'Freixo de Espada à Cinta' => 'Freixo de Espada à Cinta', 'Macedo de Cavaleiros' => 'Macedo de Cavaleiros', 'Miranda do Douro' => 'Miranda do Douro', 'Mirandela' => 'Mirandela', 'Mogadouro' => 'Mogadouro', 'Torre de Moncorvo' => 'Torre de Moncorvo', 'Vila Flor' => 'Vila Flor', 'Vimioso' => 'Vimioso', 'Vinhais' => 'Vinhais', ), 'Leiria' => Array ( 'Alcoba?a' => 'Alcoba?a', 'Alvaiázere' => 'Alvaiázere', 'Ansi?o' => 'Ansi?o', 'Batalha' => 'Batalha', 'Bombarral' => 'Bombarral', 'Caldas da Rainha' => 'Caldas da Rainha', 'Caranguejeira' => 'Caranguejeira', 'Castanheira de Pêra' => 'Castanheira de Pêra', 'Figueiró dos Vinhos' => 'Figueiró dos Vinhos', 'Leiria' => 'Leiria', 'Marinha Grande' => 'Marinha Grande', 'Nazaré' => 'Nazaré', 'Pedróg?o Grande' => 'Pedróg?o Grande', 'Peniche' => 'Peniche', 'Pombal' => 'Pombal', 'Porto de Mós' => 'Porto de Mós', 'Valado de Frades' => 'Valado de Frades', 'óbidos' => 'óbidos', ), 'Castelo Branco' => Array ( 'Belmonte' => 'Belmonte', 'Castelo Branco' => 'Castelo Branco', 'Covilh?' => 'Covilh?', 'Fund?o' => 'Fund?o', 'Idanha-a-Nova' => 'Idanha-a-Nova', 'Oleiros' => 'Oleiros', 'Penamacor' => 'Penamacor', 'Proen?a-a-Nova' => 'Proen?a-a-Nova', 'Sert?' => 'Sert?', 'Vila Velha de Ród?o' => 'Vila Velha de Ród?o', 'Vila de Rei' => 'Vila de Rei', ), 'Santarém' => Array ( 'Abrantes' => 'Abrantes', 'Alcanena' => 'Alcanena', 'Almeirim' => 'Almeirim', 'Alpiar?a' => 'Alpiar?a', 'Benavente' => 'Benavente', 'Cartaxo' => 'Cartaxo', 'Chamusca' => 'Chamusca', 'Constancia' => 'Constancia', 'Coruche' => 'Coruche', 'Entroncamento' => 'Entroncamento', 'Ferreira do Zêzere' => 'Ferreira do Zêzere', 'Goleg?' => 'Goleg?', 'Ma??o' => 'Ma??o', 'Ourém' => 'Ourém', 'Riachos' => 'Riachos', 'Rio Maior' => 'Rio Maior', 'Salvaterra de Magos' => 'Salvaterra de Magos', 'Santarém' => 'Santarém', 'Sardoal' => 'Sardoal', 'Tomar' => 'Tomar', 'Torres Novas' => 'Torres Novas', 'Tramagal' => 'Tramagal', 'Vila Nova da Barquinha' => 'Vila Nova da Barquinha', ), 'Portalegre' => Array ( 'Alter do Ch?o' => 'Alter do Ch?o', 'Arronches' => 'Arronches', 'Avis' => 'Avis', 'Campo Maior' => 'Campo Maior', 'Castelo de Vide' => 'Castelo de Vide', 'Crato' => 'Crato', 'Elvas' => 'Elvas', 'Fronteira' => 'Fronteira', 'Gavi?o' => 'Gavi?o', 'Marv?o' => 'Marv?o', 'Monforte' => 'Monforte', 'Nisa' => 'Nisa', 'Ponte de S?r' => 'Ponte de S?r', 'Portalegre' => 'Portalegre', 'Sousel' => 'Sousel', ), 'Lisboa' => Array ( 'Agualva' => 'Agualva', 'Alenquer' => 'Alenquer', 'Almargem' => 'Almargem', 'Amadora' => 'Amadora', 'Arruda dos Vinhos' => 'Arruda dos Vinhos', 'Azambuja' => 'Azambuja', 'Cacém' => 'Cacém', 'Cadaval' => 'Cadaval', 'Cascais' => 'Cascais', 'Estoril' => 'Estoril', 'Falagueira' => 'Falagueira', 'Lisboa' => 'Lisboa', 'Loures' => 'Loures', 'Lourinh?' => 'Lourinh?', 'Mafra' => 'Mafra', 'Massamá' => 'Massamá', 'Odivelas' => 'Odivelas', 'Oeiras' => 'Oeiras', 'Queluz' => 'Queluz', 'Sacavém' => 'Sacavém', 'Sintra' => 'Sintra', 'Sobral de Monte Agra?o' => 'Sobral de Monte Agra?o', 'S?o Martinho' => 'S?o Martinho', 'Terrujem' => 'Terrujem', 'Torres Vedras' => 'Torres Vedras', 'Vila Franca de Xira' => 'Vila Franca de Xira', ), 'évora' => Array ( 'Alandroal' => 'Alandroal', 'Arraiolos' => 'Arraiolos', 'Borba' => 'Borba', 'Estremoz' => 'Estremoz', 'Montemor-o-Novo' => 'Montemor-o-Novo', 'Mora' => 'Mora', 'Mour?o' => 'Mour?o', 'Portel' => 'Portel', 'Redondo' => 'Redondo', 'Reguengos de Monsaraz' => 'Reguengos de Monsaraz', 'Vendas Novas' => 'Vendas Novas', 'Viana do Alentejo' => 'Viana do Alentejo', 'Vila Vi?osa' => 'Vila Vi?osa', 'évora' => 'évora', ), 'Setúbal' => Array ( 'Alcochete' => 'Alcochete', 'Alcácer do Sal' => 'Alcácer do Sal', 'Almada' => 'Almada', 'Amora' => 'Amora', 'Barreiro' => 'Barreiro', 'Corroios' => 'Corroios', 'Costa de Caparica' => 'Costa de Caparica', 'Grandola' => 'Grandola', 'Moita' => 'Moita', 'Montijo' => 'Montijo', 'Palmela' => 'Palmela', 'Santiago do Cacém' => 'Santiago do Cacém', 'Seixal' => 'Seixal', 'Sesimbra' => 'Sesimbra', 'Setúbal' => 'Setúbal', 'Sines' => 'Sines', ), 'Beja' => Array ( 'Aljustrel' => 'Aljustrel', 'Almod?var' => 'Almod?var', 'Alvito' => 'Alvito', 'Barrancos' => 'Barrancos', 'Beja' => 'Beja', 'Castro Verde' => 'Castro Verde', 'Cuba' => 'Cuba', 'Ferreira do Alentejo' => 'Ferreira do Alentejo', 'Moura' => 'Moura', 'Mértola' => 'Mértola', 'Odemira' => 'Odemira', 'Ourique' => 'Ourique', 'Serpa' => 'Serpa', 'Vidigueira' => 'Vidigueira', 'Vila Nova de Milfontes' => 'Vila Nova de Milfontes', ), 'Faro' => Array ( 'Albufeira' => 'Albufeira', 'Alcoutim' => 'Alcoutim', 'Aljezur' => 'Aljezur', 'Arma??o de Pêra' => 'Arma??o de Pêra', 'Carvoeiro' => 'Carvoeiro', 'Castro Marim' => 'Castro Marim', 'Faro' => 'Faro', 'Lagoa' => 'Lagoa', 'Lagos' => 'Lagos', 'Loulé' => 'Loulé', 'Monchique' => 'Monchique', 'Olh?o' => 'Olh?o', 'Portim?o' => 'Portim?o', 'Quarteira' => 'Quarteira', 'Silves' => 'Silves', 'S?o Brás de Alportel' => 'S?o Brás de Alportel', 'Tavira' => 'Tavira', 'Vila Real de Santo António' => 'Vila Real de Santo António', 'Vila do Bispo' => 'Vila do Bispo', ), 'Madeira' => Array ( 'Calheta' => 'Calheta', 'Cani?o' => 'Cani?o', 'Camara de Lobos' => 'Camara de Lobos', 'Funchal' => 'Funchal', 'Ponta do Sol' => 'Ponta do Sol', 'Ribeira Brava' => 'Ribeira Brava', 'Santa Cruz' => 'Santa Cruz', 'Santana' => 'Santana', 'S?o Vicente' => 'S?o Vicente', 'Vila de Porto Santo' => 'Vila de Porto Santo', ), 'A?ores' => Array ( 'Angra do Heroísmo' => 'Angra do Heroísmo', 'Calheta' => 'Calheta', 'Horta' => 'Horta', 'Lajes' => 'Lajes', 'Madalena' => 'Madalena', 'Nordeste' => 'Nordeste', 'Ponta Delgada' => 'Ponta Delgada', 'Povoa??o' => 'Povoa??o', 'Praia da Vitória' => 'Praia da Vitória', 'Ribeira Grande' => 'Ribeira Grande', 'Santa Cruz da Graciosa' => 'Santa Cruz da Graciosa', 'S?o Roque do Pico' => 'S?o Roque do Pico', 'Velas' => 'Velas', 'Vila Franca do Campo' => 'Vila Franca do Campo', 'Vila do Porto' => 'Vila do Porto', ) ); $arr_options = array(); if ( ! is_array( $parent_options ) ) { $parent_options = array( $parent_options ); } foreach ( $parent_options as $parent_option ) { if ( isset( $all_options[ $parent_option ] ) ) { $arr_options = array_merge( $arr_options, $all_options[ $parent_option ] ); } elseif ( ! isset( $_POST['parent_option'] ) ) { foreach ( $all_options as $k => $opts ) { $arr_options = array_merge( $opts, $arr_options ); } } } //code to do something if other options are not selected or empty match if ( empty( $arr_options ) ) { $arr_options[ ] = __("No cities"); } else { $arr_options = array_unique( $arr_options ); } return $arr_options; }
Try to replace spaces with underscore and remove UTF8 characters in your indexes:
"Castelo_Branco" => "Castelo Branco" , "Coimbra" => "Coimbra" , "Evora" => "évora" ,
'Setubal' => Array ( 'Alcochete' => 'Alcochete', 'Alcacer_do_Sal' => 'Alcácer do Sal',
You can try this code snippet where I have made all changes.
function custom_district_list_dropdown() { $coutries = array( "Aveiro" => "Aveiro", "Beja" => "Beja", "Braga" => "Braga", "Braganca" => "Bragan?a", "Castelo_Branco" => "Castelo Branco", "Coimbra" => "Coimbra", "Evora" => "évora", "Faro" => "Faro", "Guarda" => "Guarda", "Leiria" => "Leiria", "Lisboa" => "Lisboa", "Portalegre" => "Portalegre", "Porto" => "Porto", "Santarem" => "Santarém", "Setubal" => "Setúbal", "Viana_do_Castelo" => "Viana do Castelo", "Vila_Real" => "Vila Real", "Viseu" => "Viseu", "Madeira" => "Madeira", "Acores" => "A?ores", ); return $coutries; } function getCitiesDropdownList( $has_parent = false ){ $parent_options = isset( $_POST['parent_option'] ) ? $_POST['parent_option'] : false; $all_options = Array( 'Aveiro' => Array ( 'Albergaria-a-Velha' => 'Albergaria-a-Velha', 'Anadia' => 'Anadia', 'Argoncilhe' => 'Argoncilhe', 'Arouca' => 'Arouca', 'Aveiro' => 'Aveiro', 'Castelo_de_Paiva' => 'Castelo de Paiva', 'Espinho' => 'Espinho', 'Estarreja' => 'Estarreja', 'Fermentelos' => 'Fermentelos', 'Gafanha_da_Nazare' => 'Gafanha da Nazaré', 'Mealhada' => 'Mealhada', 'Murtosa' => 'Murtosa', 'Oliveira_de_Azemeis' => 'Oliveira de Azemeis', 'Oliveira_do_Bairro' => 'Oliveira do Bairro', 'Ovar' => 'Ovar', 'Santa_Maria_da_Feira' => 'Santa Maria da Feira', 'Sever_do_Vouga' => 'Sever do Vouga', 'Sao_Joao_da_Madeira' => 'S?o Jo?o da Madeira', 'Vagos' => 'Vagos', 'Vale_de_Cambra' => 'Vale de Cambra', 'Agueda' => 'águeda', 'flhavo' => 'ílhavo', ), 'Porto' => Array ( 'Alfena' => 'Alfena', 'Amarante' => 'Amarante', 'Arcozelo' => 'Arcozelo', 'Aver-o-Mar' => 'Aver-o-Mar', 'Baiao' => 'Bai?o', 'Casteloes_de_Cepeda' => 'Castel?es de Cepeda', 'Ermezinde' => 'Ermezinde', 'Felgueiras' => 'Felgueiras', 'Gondomar' => 'Gondomar', 'Lousada' => 'Lousada', 'Mafamude' => 'Mafamude', 'Maia' => 'Maia', 'Marco_de_Canavezes' => 'Marco de Canavezes', 'Matosinhos' => 'Matosinhos', 'Olival' => 'Olival', 'Paredes' => 'Paredes', 'Pacos_de_Ferreira' => 'Pa?os de Ferreira', 'Penafiel' => 'Penafiel', 'Porto' => 'Porto', 'Povoa_de_Varzim' => 'Póvoa de Varzim', 'Rio_Tinto' => 'Rio Tinto', 'Santo_Tirso' => 'Santo Tirso', 'Trofa' => 'Trofa', 'Valadares' => 'Valadares', 'Valongo' => 'Valongo', 'Vila_Nova_de_Gaia' => 'Vila Nova de Gaia', 'Vila_do_Conde' => 'Vila do Conde', ), 'Viseu' => Array ( 'Armamar' => 'Armamar', 'Canas_de_Senhorim' => 'Canas de Senhorim', 'Carregal_do_Sal' => 'Carregal do Sal', 'Castro_Daire' => 'Castro Daire', 'Cinfaes' => 'Cinf?es', 'Lamego' => 'Lamego', 'Mangualde' => 'Mangualde', 'Moimenta_da_Beira' => 'Moimenta da Beira', 'Mortagua' => 'Mortágua', 'Nelas' => 'Nelas', 'Oliveira_de_Frades' => 'Oliveira de Frades', 'Penalva_do_Castelo' => 'Penalva do Castelo', 'Penedono' => 'Penedono', 'Resende' => 'Resende', 'Santa_Comba_Dao' => 'Santa Comba D?o', 'Sernancelhe' => 'Sernancelhe', 'Satao' => 'Sát?o', 'Sao_Joao_da_Pesqueira' => 'S?o Jo?o da Pesqueira', 'Sao_Pedro_do_Sul' => 'S?o Pedro do Sul', 'Tabuaco' => 'Tabua?o', 'Tarouca' => 'Tarouca', 'Tondela' => 'Tondela', 'Vila_Nova_de_Paiva' => 'Vila Nova de Paiva', 'Viseu' => 'Viseu', ), 'Braga' => Array ( 'Amares' => 'Amares', 'Barcelos' => 'Barcelos', 'Braga' => 'Braga', 'Cabeceiras_de_Basto' => 'Cabeceiras de Basto', 'Celeiroz' => 'Celeiroz', 'Celorico_de_Basto' => 'Celorico de Basto', 'Esposende' => 'Esposende', 'Fafe' => 'Fafe', 'Famalicao' => 'Famalic?o', 'Ferreiros' => 'Ferreiros', 'Guimaraes' => 'Guimar?es', 'Joane' => 'Joane', 'Povoa_de_Lanhoso' => 'Póvoa de Lanhoso', 'Real' => 'Real', 'Riba_de_Ave' => 'Riba de Ave', 'Terras_de_Bouro' => 'Terras de Bouro', 'Vieira_do_Minho' => 'Vieira do Minho', 'Vila_Verde' => 'Vila Verde', 'Vizela' => 'Vizela', ), 'Vila_Real' => Array ( 'Alijo' => 'Alijó', 'Boticas' => 'Boticas', 'Chaves' => 'Chaves', 'Mesao_Frio' => 'Mes?o Frio', 'Mondim_de_Basto' => 'Mondim de Basto', 'Montalegre' => 'Montalegre', 'Murca' => 'Mur?a', 'Peso_da_Regua' => 'Peso da Régua', 'Ribeira_de_Pena' => 'Ribeira de Pena', 'Sabrosa' => 'Sabrosa', 'Santa_Marta_de_Penaguiao' => 'Santa Marta de Penagui?o', 'Valpacos' => 'Valpa?os', 'Vila_Pouca_de_Aguiar' => 'Vila Pouca de Aguiar', 'Vila_Real' => 'Vila Real', ), 'Coimbra' => Array ( 'Arganil' => 'Arganil', 'Cantanhede' => 'Cantanhede', 'Coimbra' => 'Coimbra', 'Condeixa-a-Nova' => 'Condeixa-a-Nova', 'Figueira_da_Foz' => 'Figueira da Foz', 'Gois' => 'Góis', 'Lorvao' => 'Lorv?o', 'Lousa' => 'Lous?', 'Mira' => 'Mira', 'Miranda_do_Corvo' => 'Miranda do Corvo', 'Montemor-o-Velho' => 'Montemor-o-Velho', 'Oliveira_do_Hospital' => 'Oliveira do Hospital', 'Pampilhosa_da_Serra' => 'Pampilhosa da Serra', 'Penacova' => 'Penacova', 'Penela' => 'Penela', 'Poiares' => 'Poiares', 'Soure' => 'Soure', 'Trouxemil' => 'Trouxemil', 'Tabua' => 'Tábua', ), 'Guarda' => Array ( 'Aguiar_da_Beira' => 'Aguiar da Beira', 'Almeida' => 'Almeida', 'Celorico_da_Beira' => 'Celorico da Beira', 'Figueira_de_Castelo_Rodrigo' => 'Figueira de Castelo Rodrigo', 'Fornos_de_Algodres' => 'Fornos de Algodres', 'Gouveia' => 'Gouveia', 'Guarda' => 'Guarda', 'Manteigas' => 'Manteigas', 'Meda' => 'Mêda', 'Pinhel' => 'Pinhel', 'Sabugal' => 'Sabugal', 'Seia' => 'Seia', 'Trancoso' => 'Trancoso', 'Vila_Nova_de_Foz_Coa' => 'Vila Nova de Foz C?a', ), 'Viana_do_Castelo' => Array ( 'Arcos_de_Valdevez' => 'Arcos de Valdevez', 'Arcozelo' => 'Arcozelo', 'Caminha' => 'Caminha', 'Melgaco' => 'Melga?o', 'Moncao' => 'Mon??o', 'Paredes_de_Coura' => 'Paredes de Coura', 'Ponte_da_Barca' => 'Ponte da Barca', 'Ponte_de_Lima' => 'Ponte de Lima', 'Valenca' => 'Valen?a', 'Viana_do_Castelo' => 'Viana do Castelo', 'Vila_Nova_de_Cerveira' => 'Vila Nova de Cerveira', ), 'Braganca' => Array ( 'Alfandega_da_Fe' => 'Alfandega da Fé', 'Braganca' => 'Bragan?a', 'Carrazeda_de_Anciaes' => 'Carrazeda de Anci?es', 'Freixo_de_Espada_a_Cinta' => 'Freixo de Espada à Cinta', 'Macedo_de_Cavaleiros' => 'Macedo de Cavaleiros', 'Miranda_do_Douro' => 'Miranda do Douro', 'Mirandela' => 'Mirandela', 'Mogadouro' => 'Mogadouro', 'Torre_de_Moncorvo' => 'Torre de Moncorvo', 'Vila_Flor' => 'Vila Flor', 'Vimioso' => 'Vimioso', 'Vinhais' => 'Vinhais', ), 'Leiria' => Array ( 'Alcobaca' => 'Alcoba?a', 'Alvaiazere' => 'Alvaiázere', 'Ansiao' => 'Ansi?o', 'Batalha' => 'Batalha', 'Bombarral' => 'Bombarral', 'Caldas_da_Rainha' => 'Caldas da Rainha', 'Caranguejeira' => 'Caranguejeira', 'Castanheira_de_Pera' => 'Castanheira de Pêra', 'Figueiro_dos_Vinhos' => 'Figueiró dos Vinhos', 'Leiria' => 'Leiria', 'Marinha_Grande' => 'Marinha Grande', 'Nazare' => 'Nazaré', 'Pedrogao_Grande' => 'Pedróg?o Grande', 'Peniche' => 'Peniche', 'Pombal' => 'Pombal', 'Porto_de_Mos' => 'Porto de Mós', 'Valado_de_Frades' => 'Valado de Frades', 'Obidos' => 'óbidos', ), 'Castelo_Branco' => Array ( 'Belmonte' => 'Belmonte', 'Castelo_Branco' => 'Castelo Branco', 'Covilha' => 'Covilh?', 'Fundao' => 'Fund?o', 'Idanha-a-Nova' => 'Idanha-a-Nova', 'Oleiros' => 'Oleiros', 'Penamacor' => 'Penamacor', 'Proenca-a-Nova' => 'Proen?a-a-Nova', 'Serta' => 'Sert?', 'Vila_Velha_de_Rodao' => 'Vila Velha de Ród?o', 'Vila_de_Rei' => 'Vila de Rei', ), 'Santarem' => Array ( 'Abrantes' => 'Abrantes', 'Alcanena' => 'Alcanena', 'Almeirim' => 'Almeirim', 'Alpiarca' => 'Alpiar?a', 'Benavente' => 'Benavente', 'Cartaxo' => 'Cartaxo', 'Chamusca' => 'Chamusca', 'Constancia' => 'Constancia', 'Coruche' => 'Coruche', 'Entroncamento' => 'Entroncamento', 'Ferreira_do_Zezere' => 'Ferreira do Zêzere', 'Golega' => 'Goleg?', 'Macao' => 'Ma??o', 'Ourem' => 'Ourém', 'Riachos' => 'Riachos', 'Rio_Maior' => 'Rio Maior', 'Salvaterra_de_Magos' => 'Salvaterra de Magos', 'Santarem' => 'Santarém', 'Sardoal' => 'Sardoal', 'Tomar' => 'Tomar', 'Torres_Novas' => 'Torres Novas', 'Tramagal' => 'Tramagal', 'Vila_Nova_da_Barquinha' => 'Vila Nova da Barquinha', ), 'Portalegre' => Array ( 'Alter_do_Chao' => 'Alter do Ch?o', 'Arronches' => 'Arronches', 'Avis' => 'Avis', 'Campo_Maior' => 'Campo Maior', 'Castelo_de_Vide' => 'Castelo de Vide', 'Crato' => 'Crato', 'Elvas' => 'Elvas', 'Fronteira' => 'Fronteira', 'Gaviao' => 'Gavi?o', 'Marvao' => 'Marv?o', 'Monforte' => 'Monforte', 'Nisa' => 'Nisa', 'Ponte_de_Sor' => 'Ponte de S?r', 'Portalegre' => 'Portalegre', 'Sousel' => 'Sousel', ), 'Lisboa' => Array ( 'Agualva' => 'Agualva', 'Alenquer' => 'Alenquer', 'Almargem' => 'Almargem', 'Amadora' => 'Amadora', 'Arruda_dos_Vinhos' => 'Arruda dos Vinhos', 'Azambuja' => 'Azambuja', 'Cacem' => 'Cacém', 'Cadaval' => 'Cadaval', 'Cascais' => 'Cascais', 'Estoril' => 'Estoril', 'Falagueira' => 'Falagueira', 'Lisboa' => 'Lisboa', 'Loures' => 'Loures', 'Lourinha' => 'Lourinh?', 'Mafra' => 'Mafra', 'Massama' => 'Massamá', 'Odivelas' => 'Odivelas', 'Oeiras' => 'Oeiras', 'Queluz' => 'Queluz', 'Sacavem' => 'Sacavém', 'Sintra' => 'Sintra', 'Sobral_de_Monte_Agraco' => 'Sobral de Monte Agra?o', 'Sao_Martinho' => 'S?o Martinho', 'Terrujem' => 'Terrujem', 'Torres_Vedras' => 'Torres Vedras', 'Vila_Franca_de_Xira' => 'Vila Franca de Xira', ), 'Evora' => Array ( 'Alandroal' => 'Alandroal', 'Arraiolos' => 'Arraiolos', 'Borba' => 'Borba', 'Estremoz' => 'Estremoz', 'Montemor-o-Novo' => 'Montemor-o-Novo', 'Mora' => 'Mora', 'Mourao' => 'Mour?o', 'Portel' => 'Portel', 'Redondo' => 'Redondo', 'Reguengos_de_Monsaraz' => 'Reguengos de Monsaraz', 'Vendas_Novas' => 'Vendas Novas', 'Viana_do_Alentejo' => 'Viana do Alentejo', 'Vila_Vicosa' => 'Vila Vi?osa', 'Evora' => 'évora', ), 'Setubal' => Array ( 'Alcochete' => 'Alcochete', 'Alcacer_do_Sal' => 'Alcácer do Sal', 'Almada' => 'Almada', 'Amora' => 'Amora', 'Barreiro' => 'Barreiro', 'Corroios' => 'Corroios', 'Costa_de_Caparica' => 'Costa de Caparica', 'Grandola' => 'Grandola', 'Moita' => 'Moita', 'Montijo' => 'Montijo', 'Palmela' => 'Palmela', 'Santiago_do_Cacem' => 'Santiago do Cacém', 'Seixal' => 'Seixal', 'Sesimbra' => 'Sesimbra', 'Setubal' => 'Setúbal', 'Sines' => 'Sines', ), 'Beja' => Array ( 'Aljustrel' => 'Aljustrel', 'Almodovar' => 'Almod?var', 'Alvito' => 'Alvito', 'Barrancos' => 'Barrancos', 'Beja' => 'Beja', 'Castro_Verde' => 'Castro Verde', 'Cuba' => 'Cuba', 'Ferreira_do_Alentejo' => 'Ferreira do Alentejo', 'Moura' => 'Moura', 'Mertola' => 'Mértola', 'Odemira' => 'Odemira', 'Ourique' => 'Ourique', 'Serpa' => 'Serpa', 'Vidigueira' => 'Vidigueira', 'Vila_Nova_de_Milfontes' => 'Vila Nova de Milfontes', ), 'Faro' => Array ( 'Albufeira' => 'Albufeira', 'Alcoutim' => 'Alcoutim', 'Aljezur' => 'Aljezur', 'Armacao_de_Pera' => 'Arma??o de Pêra', 'Carvoeiro' => 'Carvoeiro', 'Castro_Marim' => 'Castro Marim', 'Faro' => 'Faro', 'Lagoa' => 'Lagoa', 'Lagos' => 'Lagos', 'Loule' => 'Loulé', 'Monchique' => 'Monchique', 'Olhao' => 'Olh?o', 'Portimao' => 'Portim?o', 'Quarteira' => 'Quarteira', 'Silves' => 'Silves', 'Sao_Bras_de_Alportel' => 'S?o Brás de Alportel', 'Tavira' => 'Tavira', 'Vila_Real_de_Santo_Antonio' => 'Vila Real de Santo António', 'Vila_do_Bispo' => 'Vila do Bispo', ), 'Madeira' => Array ( 'Calheta' => 'Calheta', 'Canico' => 'Cani?o', 'Camara_de_Lobos' => 'Camara de Lobos', 'Funchal' => 'Funchal', 'Ponta_do_Sol' => 'Ponta do Sol', 'Ribeira_Brava' => 'Ribeira Brava', 'Santa_Cruz' => 'Santa Cruz', 'Santana' => 'Santana', 'Sao_Vicente' => 'S?o Vicente', 'Vila_de_Porto_Santo' => 'Vila de Porto Santo', ), 'Acores' => Array ( 'Angra_do_Heroismo' => 'Angra do Heroísmo', 'Calheta' => 'Calheta', 'Horta' => 'Horta', 'Lajes' => 'Lajes', 'Madalena' => 'Madalena', 'Nordeste' => 'Nordeste', 'Ponta_Delgada' => 'Ponta Delgada', 'Povoacao' => 'Povoa??o', 'Praia_da_Vitoria' => 'Praia da Vitória', 'Ribeira_Grande' => 'Ribeira Grande', 'Santa_Cruz_da_Graciosa' => 'Santa Cruz da Graciosa', 'Sao_Roque_do_Pico' => 'S?o Roque do Pico', 'Velas' => 'Velas', 'Vila_Franca_do_Campo' => 'Vila Franca do Campo', 'Vila_do_Porto' => 'Vila do Porto', ) ); $arr_options = array(); if ( ! is_array( $parent_options ) ) { $parent_options = array( $parent_options ); } foreach ( $parent_options as $parent_option ) { if ( isset( $all_options[ $parent_option ] ) ) { $arr_options = array_merge( $arr_options, $all_options[ $parent_option ] ); } elseif ( ! isset( $_POST['parent_option'] ) ) { foreach ( $all_options as $k => $opts ) { $arr_options = array_merge( $opts, $arr_options ); } } } //code to do something if other options are not selected or empty match if ( empty( $arr_options ) ) { $arr_options[ ] = __("No cities"); } else { $arr_options = array_unique( $arr_options ); } return $arr_options; }
Hi @jack1132132
This thread has been inactive for a while so we’re going to go ahead and mark it Resolved.
Please feel free to re-open this thread if any other questions come up and we’d be happy to help. ??
Regards
-
This reply was modified 2 years, 1 month ago by
- The topic ‘Dropdown for locality depending on District dropdown’ is closed to new replies.