JSFiddle - React, Tailwind, and code Playground
HTML
<label>Paese</label>
<select id="paese" value="paese">
<option></option>
<option id="1">Albania</option>
<option id="2">Austria</option>
</select>
<label>Città</label>
<select id="citta" disabled>
<option>Scegli</option>
</select>
<label>Località</label>
<select id="località" disabled>
<option></option>
</select>
JavaScript
var obj={
citta:{
1:['Durres','Tirana'],
2:['Vienna','innsbruck','Graz'],
},
localita:{
albania:[['località Durres1','località Durres 2'],['località Tirana','località Tirana 2']],
austria:[['località Vienna','località Vienna 2'],['località innsbruck','località innsbruck 2'],['località Graz','località Graz 2','località Graz 3']],
}
}
$('#paese').on('change',function(){
$('#località').attr('disabled','disabled').find('option').remove()
var quale=$(this).find('option:selected').attr('id')
var arr=obj.citta[quale]
if(arr){
$('#citta').removeAttr('disabled')
$('#citta option.added').remove()
for(i=0;i<arr.length;i++){
$('<option class="added">'+arr[i]+'</option>').appendTo('#citta')
}
}
})
$('#citta').on('change',function(){
var ind=($(this).find('option:selected').index())-1
var quale=$('#paese').find('option:selected').attr('id')
var arr=obj.localita[quale][ind]
if(arr){
$('#località').removeAttr('disabled')
$('#località option.added').remove()
for(i=0;i<arr.length;i++){
$('<option class="added">'+arr[i]+'</option>').appendTo('#località')
}
}
})