2013-12-19 3 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>'); 
} 

코드는 정상적으로 작동합니다. 이제 다른 국가의 국가를 추가하려면 다른 스위치 케이스를 추가해야합니다. country_list 배열에 전적으로 206 개 국가가 있습니다. 206 국가의 국가를 추가하려면 모든 국가에 대해 206 개의 스위치 케이스를 작성해야합니까? 아니면 자바 스크립트에서 다른 변수로 변수 값을 만드는 간단한 방법이 있습니까? 그렇다면 국가 목록에서 선택한 값으로 배열을 호출 할 수 있습니다.

내 질문에 대한 이해를 바랍니다. 당신은 이런 상태의 개체를 만들 수 있습니다 사전

+2

그냥 properties : * not * 변수를 사용하십시오. – user2864740

+0

@ user2864740 정교함을 부탁드립니다. –

+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

에서 확인하고 알려드립니다. –

관련 문제