Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.06.2012, 21:24
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Для тех, кто следит за моими успехами
Привёл БД к такому состоянию:
var twns ={
'Абакан':['9-12',3150,90,87,83,68,65,62],
'Альметьевск':['5-7',2520,72,69,65,53,50,47]};


Но всё равно, не понимаю как перебрать города в цикле и что засунуть в Autocomplete...
Ответить с цитированием
  #12 (permalink)  
Старый 26.06.2012, 22:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

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]);
}
Ответить с цитированием
  #13 (permalink)  
Старый 26.06.2012, 22:29
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Переделал БД на
var twns ={
'Абакан':['9-12',3150,90,87,83,68,65,62],
'Альметьевск':['5-7',2520,72,69,65,53,50,47]};

Но всё равно не догоняю, как обратиться к городу по порядковому номеру в ... объекте?
Ответить с цитированием
  #14 (permalink)  
Старый 26.06.2012, 22:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от arachnoz
Но всё равно не догоняю, как обратиться к городу по порядковому номеру в ... объекте?
А смысл ?
Ответить с цитированием
  #15 (permalink)  
Старый 26.06.2012, 22:44
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Кроссбраузерно: (Если без старых ИЕ мон и без доп массива
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]);
}
Ответить с цитированием
  #16 (permalink)  
Старый 26.06.2012, 22:58
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Deff - спасибо большое за подсказки. Я по первости на форуме не увидел пейджера и постил два сообщения подряд


Дело в том, что Autocomplete принимает на вход простой одномерный массив вида
['Абакан', 'Альметьевск', 'И прочее'];

Т.к. моя импровизированная БД уже содержит их, я хотел сформировать одномерный массив, выдрав ключи из многомерного.
А все примеры, которые мне попались за пару дней гугления предполагают, что значение ключа известно.
Ответить с цитированием
  #17 (permalink)  
Старый 26.06.2012, 23:19
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

А если название города будет например Нижний новгород?
Ответить с цитированием
  #18 (permalink)  
Старый 26.06.2012, 23:23
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Тогда autocomplete вернёт false.
Ответить с цитированием
  #19 (permalink)  
Старый 26.06.2012, 23:29
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Тем не менее, всё равно туповато выходит у меня.

Конструкция

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]);}


Выводит по очереди все массивы, содержащиеся в объекте. Я правильно выражаюсь? Это же объект?
Соответственно, напрямую получить название города я не могу. Вариант - в этом же цикле парсить каждый массив и отделять ключ. Или регуляркой его порвать и загнать в другой массив.
Такие мысли.
Ответить с цитированием
  #20 (permalink)  
Старый 26.06.2012, 23:37
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Снова нашёл решение на этом чудо-форуме, на этот раз тут
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возвращаемый массив jQuery селектора HelpeR jQuery 11 26.06.2012 16:16
jquery не работает в цикле alexus jQuery 3 03.09.2011 14:49
Многомерный массив javascript simple Общие вопросы Javascript 20 03.11.2010 02:11
ajax и многомерный массив cat9 AJAX и COMET 1 03.10.2010 15:25
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14