Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2014, 14:09
Интересующийся
Отправить личное сообщение для devastor Посмотреть профиль Найти все сообщения от devastor
 
Регистрация: 09.09.2014
Сообщений: 27

Часть функции не срабатывает
var selectcity = 'none';
function centrmap(){
	//получаем положение пользователя по IP
	geolocation.get({provider: 'yandex', mapStateAutoApply: true
    	}).then(function (result) {
			//центруем карту по положению пользователя и ставим метку
			myMap.geoObjects.add(result.geoObjects); 
			myMap.geoObjects.remove(result.geoObjects); //удаяляем метку(чтоб не мешалась)
			var cityname = result.geoObjects.get(0).properties.get('name');//получаем из какого города пользователь
			var i = 0;
			console.log(selectcity);
			var objSel = document.getElementById('allcity');
			document.getElementById('info').value = cityname;
			while (objSel.options[i]!=0){
			i++;
			if (objSel.options[i].text == cityname){
				objSel.selectedIndex = i; 
				selectcity = objSel.options[i].text;//выставляем город в селекторе
				break}
			}
//не работает дальше
			console.log(selectcity);
			if (selectcity == 'none'){
				objSel.options[objSel.options.length] = new Option(cityname, objSel.options.length);
				objSel.selectedIndex = objSel.options.length-1;
			}
    	});
}

В целом вот, всё что после "не работает дальше" не срабатывает, при отрицательном проходе "(objSel.options[i].text == cityname)", при положительном проходе срабатывает, по сути ошибка должна быть в скобочках, но я несколько раз всё проверил и ошибки не вижу

Последний раз редактировалось devastor, 10.09.2014 в 14:17.
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2014, 15:31
Профессор
Отправить личное сообщение для Brook Посмотреть профиль Найти все сообщения от Brook
 
Регистрация: 13.04.2012
Сообщений: 210

if (objSel.options[i].text == cityname){
				objSel.selectedIndex = i; 
				selectcity = objSel.options[i].text;//выставляем город в селекторе
				break}

просто в вас получается бесконечный while т.к. вы его не прерываете
на отрицание поставьте objSel.options[i]==0 или break тоесть ваша задача забить значением это переменную дать ей значение/длинну что бы objSel.options[i] - существовала

else {ТУТ кОД ПРЕРЫВАНИЯ или ЗАБИВАЕМ ЗНАЧЕНИЕ\ДЛИННУ}

Последний раз редактировалось Brook, 11.09.2014 в 15:34.
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2014, 15:50
Интересующийся
Отправить личное сообщение для devastor Посмотреть профиль Найти все сообщения от devastor
 
Регистрация: 09.09.2014
Сообщений: 27

Спасибо разобрался!
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
внутри функции конструкция If срабатывает и при выполнении и при невыполнении. wertmax Ваши сайты и скрипты 3 02.02.2014 14:50
Добавление функции внутрь другой функции Lion_astana jQuery 9 28.12.2013 14:33
пользовательские cобытия и функции jquery hurt3 jQuery 2 08.07.2013 09:13
Срабатывает лишь часть функции yuri-it Events/DOM/Window 3 20.09.2011 19:47
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21