2013-12-19 6 views
0

Я пытаюсь сделать небольшую вещь, в которой, когда пользователь выбирает страну в одной папке, она должна показывать соответствующие состояния в другой папке.Javascript использовать значение переменной как другую переменную

Например, мой массив страны

var country_list = ["Afghanistan","Albania","Algeria","Andorra","India"]; 

и массив состояние страны является чем-то вроде

var Algeria=["state1", "state2", "state3"]; 
var Albania=["state1", "state2", "state3"]; 
var India=["Andaman Nicobar", "Andhra Pradesh", "Arunachal Pradesh"]; 
var Afghanistan=["state1", "state2", "state3"]; 

загружает страны по

for(var i=0;i< country_list.length; i++) 
{ 
$('.country_select').append('<option 
value='+country_list[i]+'>'+country_list[i]+'</option>'); 
} 

и, когда пользователь выбирает Индию, она должна загружать все индийские государства. Я использую кожух выключателя, как

case "India": 
for(var i=0;i< India.length; i++) 
{ 
$('.state_details').append('<option value='+India[i]+'>'+India[i]+'</option>'); 
} 

Код работает нормально. Теперь, если я хочу добавить состояние другой страны, тогда я должен добавить еще один случай переключения. Я полностью 206 стран в массиве country_list. Итак, если я хочу добавить состояние страны 206, мне нужно написать 206 коммутационных шкафов для каждой страны? Или есть какие-либо простые методы, чтобы сделать значение переменной в качестве другой переменной в javascript? Если это так, то я могу вызвать массив по выбранному значению в списке стран.

Надеюсь, вы понимаете мой вопрос. Заранее спасибо

+2

Просто используйте свойства: * не * переменные. – user2864740

+0

@ пользователь2864740 вы можете уточнить? –

+1

вы можете создать многомерный массив/объект. – cocco

ответ

4

Вы можете создать объект состояний, как это:

var States = { 
    Algeria: ["state1", "state2", "state3"], 
    Albania: ["state1", "state2", "state3"], 
    India: ["Andaman Nicobar", "Andhra Pradesh", "Arunachal Pradesh"], 
    Afghanistan: ["state1", "state2", "state3"] 
} 

Затем вы можете использовать так:

var States = State[Selected_State]; 
for(var i=0;i< States.length; i++) 
{ 
    $('.state_details').append('<option value='+States[i]+'>'+States[i]+'</option>'); 
} 

Учитывая Selected_State является строка состояния, как India.

+0

проверит его и сообщит вам –

Смежные вопросы