0

У меня есть выбор Страны, который заполняет Городской выбор, Радиус затем добавляется к определенному городу.Добавление данных в Ассоциативный или размерный массив

var countrySet = new Array; 
var citySet = new Array; 
var radiusSet = new Array; 
var set; 


      function appendCountry(){     

       if($.inArray($("#businessCountryTarget option:selected").text(),countrySet) === -1) {       

       $("#businessDisplayCountryInfo").append($("#businessCountryTarget option:selected").text() + "<br>");   

         countrySet.push($("#businessCountryTarget option:selected").text()); 
        set = { country: $("#businessCountryTarget option:selected").text()}; 

     } 

      } 



      function appendCity(){     

       if($.inArray($("#businessCityTarget option:selected").text(),citySet) === -1){       

         $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>"); 

         $("#radiusContainer").append($("#businessCityRadius option:selected").text() + "<br>"); 
       citySet.push($("#businessCityTarget option:selected").text(),+'-'+$("#businessCityRadius option:selected").text());  

       set = {city: $("#businessCityTarget option:selected").text()}; 
       radius = $("#businessCityRadius option:selected").text(); 
       set = {radius: $("#businessCityRadius option:selected").text()}; 

       }  

      } 


    function SaveLocations(){ 
      alert(set['country'] + ' - '+ set['city'] +'-'+ set['radius'] +"<br>"); 

     } 

В поле предупреждения отображается только последний элемент. другие выглядят как неопределенные.

всякая помощь пожалуйста.

Майк

+0

Вы можете использовать объект, как на карте (ассоциативный массив без упорядочения) – Bergi

ответ

0

Есть ассоциативные массивы в JS. Вы бы просто сделать:

var myarray = { "key": "Value" } 
1

встроенные объекты JavaScript являются ключевыми пар значений, которые позволяют рассматривать их как карты, примерно эквивалентных ассоциативных массивов. Таким образом, ваш код, приведенный выше, на самом деле является полностью допустимым javascript.

var set; 
set = { country: "England", city: "London", radius: "10 miles" }; 

вы можете затем значение доступа с

set["country"] //"England" 

или

set.city //"London" 
+0

Привет, спасибо за ответ , Я обновил вопрос и сценарий, добавив новую функцию, чтобы предупредить все значения в «set». Однако это показывает только страну. –

+0

у вас больше нет четкого вопроса. Я не уверен, что вы спрашиваете. Пожалуйста, перефразируйте вопрос с конкретной конкретной проблемой, о которой вы просите о помощи, что-то более конкретное, чем «код не работает». –

-1

до тех пор, как вы заявляете:

var x = []; // you actually don't need new Array() 

можно рассматривать й как ассоциативный массив

x.a = 10; 

Это эквивалентно

var x = {a: 10}; 

Итак ...

x.a == 10; // true 

x['a'] == 10; // true 
+1

Не объявляйте вещи как массивы, если вы собираетесь использовать их в качестве объектов. Это вводит в заблуждение до крайности. –

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