Для тех, кто следит за моими успехами :D
Привёл БД к такому состоянию: var twns ={ 'Абакан':['9-12',3150,90,87,83,68,65,62], 'Альметьевск':['5-7',2520,72,69,65,53,50,47]}; Но всё равно, не понимаю как перебрать города в цикле и что засунуть в Autocomplete... :no: |
var ALLarray ={ Абакан:['9-12',3150,90,87,83,68,65,62], Альметьевск:['5-7',2520,72,69,65,53,50,47], Тайшет:['5-7',2520,72,69,65,53,50,47], }; for(i in ALLarray){ alert('Это Альметьевск? = '+(i=='Альметьевск')) alert(i+':\n'+ALLarray[i]); } |
Переделал БД на
var twns ={ 'Абакан':['9-12',3150,90,87,83,68,65,62], 'Альметьевск':['5-7',2520,72,69,65,53,50,47]}; Но всё равно не догоняю, как обратиться к городу по порядковому номеру в ... объекте? |
Цитата:
|
Кроссбраузерно: (Если без старых ИЕ мон и без доп массива
SITYarr = ['Абакан','Альметьевск','Тайшет'] var ALLarray ={ Абакан:['9-12',3150,90,87,83,68,65,62], Альметьевск:['5-7',2520,72,69,65,53,50,47], Тайшет:['5-7',2520,72,69,65,53,50,47], }; alert("Выводим 1-й город:"+'\n'+SITYarr[0]+':\n'+ALLarray[SITYarr[0]]); for(i in ALLarray){ alert('Это Альметьевск? = '+(i=='Альметьевск')) alert(i+':\n'+ALLarray[i]); } |
Deff - спасибо большое за подсказки. Я по первости на форуме не увидел пейджера и постил два сообщения подряд :)
Дело в том, что Autocomplete принимает на вход простой одномерный массив вида ['Абакан', 'Альметьевск', 'И прочее']; Т.к. моя импровизированная БД уже содержит их, я хотел сформировать одномерный массив, выдрав ключи из многомерного. А все примеры, которые мне попались за пару дней гугления предполагают, что значение ключа известно. |
А если название города будет например Нижний новгород?
|
Тогда autocomplete вернёт false.
|
Тем не менее, всё равно туповато выходит у меня.
Конструкция var twns ={ 'Абакан':['9-12',3150,90,87,83,68,65,62], 'Альметьевск':['5-7',2520,72,69,65,53,50,47], 'Анапа':['4-5',2170,62,60,56,45,42,39]}; for(i in twns){ alert(i+':\n'+twns[i]);} Выводит по очереди все массивы, содержащиеся в объекте. Я правильно выражаюсь? :) Это же объект? Соответственно, напрямую получить название города я не могу. Вариант - в этом же цикле парсить каждый массив и отделять ключ. Или регуляркой его порвать и загнать в другой массив. Такие мысли. |
Снова нашёл решение на этом чудо-форуме, на этот раз тут :)
|
Часовой пояс GMT +3, время: 22:33. |