top of page
Crumpled Fabric

0

Conditional Dropdown Menus for Country State City

Click URL to copy

Apr 11, 2024

1 min read

WIX Ideas Team

Tags: NPM Package Dropdown Velo by Wix Wix Studio


In this guide, we'll walk through the process of implementing conditional dropdown menus for selecting a country, its corresponding states, and cities within Wix. The dropdown menus are interlinked, meaning the options for states and cities dynamically change based on the selected country.


To begin, we'll utilize the country-state-city NPM package, which provides an extensive database of countries, states, and cities.

https://www.npmjs.com/package/country-state-city


Explanation:

We begin by importing the necessary modules from the country-state-city package.

Upon Wix page load ($w.onReady), we call the populateCountries function to fill the country dropdown with options.


The populateCountries function fetches all countries and populates the country dropdown.


When a country is selected (dropdownCountries_change event), we call populateStates to fetch and populate the states dropdown corresponding to the selected country.


Similarly, when a state is selected (dropdownStates_change event), we call populateCities to fetch and populate the cities dropdown corresponding to the selected country and state.


Each population function handles errors gracefully by logging them to the console.

The city dropdown's value is reset when either the country or state dropdown changes to ensure consistency.


📺Watch full tutorial here

Code



Leave a comment (0)

Thanks for leaving a comment🎉

ahmed

ahmed

May 19, 2024

wix form data

Hi i need your help also in wix form submission

the problem is that some fields are generated when $w.onReady(function () { like day & date and when i choose the student name i get the phone number from database .

and the form save only the field u fill it by ur self like input or dropdown

Reply

Walter Odibi

Walter Odibi

January 20, 2000

bromar

bromar

Sep 29, 2023

Love the tutorial!!!

You are truly great at creating these instructional videos!! Thank you! I am having trouble figuring out . . 'the triggered email' . . it is not being sent to the user submitting the form, the form and the email to the admin works great. . Could you point me to where this might have already been addressed? or any other help? On a second note. .the submit button success/failure message will go back to the default message once it's connected to the data set(I couldn't figure that out either. )

Reply

Walter Odibi

Walter Odibi

January 20, 2000

kaan

kaan

Jun 4, 2023

wishlist and rating system

hello sir I try today 2 hours but not working if you want I pay money can you do this 2 ( wishlist and rating star) system please I send to you invaid

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Hi there, you can contact me here using the in-app chatbox

Waqas

Waqas

Apr 16, 2023

Triggered Email Backend

Hi mate please can you send email by backend

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Hi Waqas, there isn't a backend code for this tutorial. The emails will be sent from the client-side.

Ghan

Ghan

Dec 29, 2022

Great Tutorial

Hi !

First of all, I want to thank you for your great tutorials, they helped us a lot with the coding.
But I still need your help, if you don't mind. I have based on Save Calculated Field using Wix Data Hooks Codes, to code my form . but the problem is I don't know why the code only reads the computation for "week2" computation and not the "weeks"

here is the code

I also did a separate column in the dataset where the chosen datas for both fields will be placed.

$w.onReady (() => {
$w("#Person").onChange(() => {
$w("#weeks").onChange(() => {
$w("#week2").onChange(() => {
let person = Number($w("#Person").value);
let weeks = Number($w("#weeks").value);
let week2 = Number($w("#week2").value);


$w("#totalLabel").show();

$w("#totalLabel").text = `"${String(weeks * Number(person))}페소"`; //DESIGN YOUR MESSAGE
$w("#totalLabel").text = `"${String(week2 * Number(person))}페소"`; //DESIGN YOUR MESSAGE

});
});
});

});

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Hi there, thanks for your comment. I see why this is a problem. The onChange() function seems wrong in combination.

To combine onChangeFunctions use this method

$w("#Person, #weeks, #weeks2").onChange(() => {

//code here

});

Walter

Walter

Aug 8, 2022

More Details? Watch video

Hi, you can click here to watch the video https://www.youtube.com/watch?v=9bx7-nBeZ5c

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Walter

Walter

Jul 11, 2022

For you

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Walter Odibi

Walter Odibi

Apr 18, 2022

Awesome Feature

This tutorial shows you how to display views on your Wix repeater.

📺WATCH VIDEO HERE https://www.youtube.com/watch?v=Iz7SdaCSdXg

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Walter Odibi

Walter Odibi

Apr 18, 2022

Amazing tutorial

This amazing tutorial will show you how to a comment section to your WIX dynamic page.

📺WATCH VIDEO HERE https://www.youtube.com/watch?v=f8-vJQFNZ_c

Reply

Walter Odibi

Walter Odibi

January 20, 2000

Walter Odibi

Walter Odibi

Apr 10, 2022

Great Feature🎉

This amazing tutorial will show you how to add a visitor view counter to your WIX dynamic page.

🚩MORE TUTORIALS https://www.wixgenius.com/wix-tutorials

Reply

Walter Odibi

Walter Odibi

January 20, 2000

RELATED TUTORIALS 🚀

Exit-Intent Popup on Wix Studio

Exit-Intent Popup on Wix Studio

Trigger a popup when site visitors are trying to exit your website before performing an action

bottom of page