I suggest the following approach
- Create a Generic List [1] named "country" for countries <Australia:au, India:in ...>
- Create state generic lists, one for each country, named (au-state / in-state), and add states in it.
- Create Cities generic lists, one for each state-country combination (in-hp-cities, in-rj-cities, in-up-cities)
Now in your dialog's Country dropdown, set the option value as Country generic list
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:Widget"
fieldLabel="Target"
name="./target"
options="/etc/acs-commons/lists/countries/_jcr_content.list.json"
type="select"
xtype="selection"/>
Add a dropdown event handler [2] on the country dropdown to set the option value of the state dropdown and the same for the city dropdown.
This approach will give the capability of content editors to manage the country-state-city list.
[1] https://adobe-consulting-services.github.io/acs-aem-commons/features/generic-lists/index.html
[2] https://aemcorner.com/add-listeners-to-widgets-in-cq5/