26.06.2012, 21:24
|
Интересующийся
|
|
Регистрация: 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...
|
|
26.06.2012, 22:01
|
без статуса
|
|
Регистрация: 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]);
}
|
|
26.06.2012, 22:29
|
Интересующийся
|
|
Регистрация: 26.06.2012
Сообщений: 23
|
|
Переделал БД на
var twns ={
'Абакан':['9-12',3150,90,87,83,68,65,62],
'Альметьевск':['5-7',2520,72,69,65,53,50,47]};
Но всё равно не догоняю, как обратиться к городу по порядковому номеру в ... объекте?
|
|
26.06.2012, 22:40
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от arachnoz
|
Но всё равно не догоняю, как обратиться к городу по порядковому номеру в ... объекте?
|
А смысл ?
|
|
26.06.2012, 22:44
|
без статуса
|
|
Регистрация: 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]);
}
|
|
26.06.2012, 22:58
|
Интересующийся
|
|
Регистрация: 26.06.2012
Сообщений: 23
|
|
Deff - спасибо большое за подсказки. Я по первости на форуме не увидел пейджера и постил два сообщения подряд
Дело в том, что Autocomplete принимает на вход простой одномерный массив вида
['Абакан', 'Альметьевск', 'И прочее'];
Т.к. моя импровизированная БД уже содержит их, я хотел сформировать одномерный массив, выдрав ключи из многомерного.
А все примеры, которые мне попались за пару дней гугления предполагают, что значение ключа известно.
|
|
26.06.2012, 23:19
|
Профессор
|
|
Регистрация: 14.09.2011
Сообщений: 523
|
|
А если название города будет например Нижний новгород?
|
|
26.06.2012, 23:23
|
Интересующийся
|
|
Регистрация: 26.06.2012
Сообщений: 23
|
|
Тогда autocomplete вернёт false.
|
|
26.06.2012, 23:29
|
Интересующийся
|
|
Регистрация: 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]);}
Выводит по очереди все массивы, содержащиеся в объекте. Я правильно выражаюсь? Это же объект?
Соответственно, напрямую получить название города я не могу. Вариант - в этом же цикле парсить каждый массив и отделять ключ. Или регуляркой его порвать и загнать в другой массив.
Такие мысли.
|
|
26.06.2012, 23:37
|
Интересующийся
|
|
Регистрация: 26.06.2012
Сообщений: 23
|
|
Снова нашёл решение на этом чудо-форуме, на этот раз тут
|
|
|
|