Выбор географического месторасположения

  • Автор темы chuvash
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

chuvash

Гость
#1
Может кто знает, где можно было бы достать систему выбора географического месторасположения?
Потому-что вручную - ну очень долго. ;)
 
V

Vagor.ini

Гость
#2
Для: chuvash
Что это такое? Задание координат?
 
C

chuvash

Гость
#3
Да, просто опции выбора места проживания. Человек заходит на сайт, и выбирает сначала - страну, потом - регион и родной город.
 
V

Vagor.ini

Гость
#4
Ну так сразу и говорил, что на сайте. Лови скрипт, модифицируешь (регион), вставишь свои страны и города и работай:unsure:
Код:
<!-- Данный скрипт при правильной настройке селектирует второй combobox относительно первого -->
<html>
<head>

<title>Тест</title>

<script language="Javascript">

function cGorod(strana_in, gorod_in)
{
   this.gorod = gorod_in;
   this.strana = strana_in;
}

Strani = new Array();
Strani["1"] = "Беларусь";
Strani["2"] = "Россия";
Strani["3"] = "Украина";

Goroda = new Array();
Goroda["Витебск"] = new cGorod(1,'Витебск');
Goroda["Гродно"] = new cGorod(1,'Гродно');
Goroda["Минск"] = new cGorod(1,'Минск');
Goroda["Москва"] = new cGorod(2,'Москва');
Goroda["Санкт-Петербург"] = new cGorod(2,'Санкт-Петербург');
Goroda["Нижний Новгород"] = new cGorod(2,'Нижний Новгород');
Goroda["Донецк"] = new cGorod(3,'Донецк');
Goroda["Киев"] = new cGorod(3,'Киев');
Goroda["Одесса"] = new cGorod(3,'Одесса');

function addgorod(key)
{
document.searchfrm.gorod.length++;
document.searchfrm.gorod[document.searchfrm.gorod.length-1].text = gorod[key];
document.searchfrm.gorod[document.searchfrm.gorod.length-1].value = key;
}


function chkkeyword(words,word) {
for(a in words) {
 if(words[a]==word)
 	{
 	return true;
 	}
}
return false;
}

function checkall(strana,gorod,i)
{
 if (strana=="")
  {
 if(chkkeyword(Goroda[i].gorod,gorod) || gorod==999)
 return true;
 }// end if

 else {
 if (Goroda[i].strana==strana || strana==999)
 if(Goroda[i].gorod==gorod || gorod==999)
 	return true;
 }//end else
 return false;
}

function creategorod(strana,gorod)
{
document.searchfrm.gorod.length=2;
document.searchfrm.gorod[0].value = 999;
document.searchfrm.gorod[0].text  = "все";
k=1;
for (i in Goroda)
 {
  if (checkall(strana,999,i))
   {
 document.searchfrm.gorod[k].value=i;
 document.searchfrm.gorod[k].text=Goroda[i].gorod;
 document.searchfrm.gorod.length=k+2;
 k++;
   }
 }
 document.searchfrm.gorod.length=k;
}

function createstrana(strana,gorod)
{
document.searchfrm.strana.length=2;
document.searchfrm.strana[0].value = 999;
document.searchfrm.strana[0].text  = "все";
k=1;
for (i in Goroda)
 {
        
 if (checkall(999,gorod,i))
   {if (document.searchfrm.strana[k-1].text!=Strani[Goroda[i].strana])
     {
 document.searchfrm.strana[k].value=Goroda[i].strana;
 document.searchfrm.strana[k].text=Strani[Goroda[i].strana];
 document.searchfrm.strana.length=k+2;
 k++;
 }
      } //end if

  }//end for

document.searchfrm.strana.length=k;
}

function reselect(field,check)
{
for (i=0;i<=field.length-1;i++)
 {
 if (field[i].value==check)
 	{
 field.selectedIndex = i;
 }
}
}

function change(what)
{
var selectedStrana = document.searchfrm.strana[document.searchfrm.strana.selectedIndex].value;
/*tmp = document.searchfrm.gorod.selectedIndex;
if(tmp >= 0)
 selectedGorod = document.searchfrm.gorod[tmp].value;
else selectedGorod = 0;*/
var selectedGorod =  document.searchfrm.gorod[document.searchfrm.gorod.selectedIndex].value;
       
createstrana(selectedStrana,selectedGorod);
creategorod(selectedStrana,selectedGorod);
                 
reselect (document.searchfrm.strana,selectedStrana);
reselect (document.searchfrm.gorod,selectedGorod);

}

function makelist()
{
document.searchfrm.strana.length = 1;
document.searchfrm.strana[0].value = 999;
document.searchfrm.strana[0].text = "все";

for(i in Strani)
{                                                     
 document.searchfrm.strana.length++;
 l = document.searchfrm.strana.length;
 document.searchfrm.strana[l-1].value = i;
 document.searchfrm.strana[l-1].text = Strani[i];
}
}

</script>

</head>

<br>

<form method=GET action="search.cgi" name="searchfrm">
<b>Страна:</b>
<BR>
<select style="width: 150" name=strana onChange="change()" size="1">
<option value="999">** Ошибка **</option>
<option value=*></option>
</select>
<BR>
<b>Город:</b><BR>
<select style="width: 150" name=gorod onChange="change()">
<option value="999">** Ошибка **</option>
<option value=*></option>
</select>

</form>

<script language="JavaScript">
<!--
makelist();
change();
//-->
</script>

</body>

</html>
 
S

Silaev

Гость
#5
ДВС!
А как в данном скрипте прописать чтоб при выборе, например, "Беларусь" -> "Минск" он автоматически загружал, например, страничку "minsk.htm"?
 
S

Silaev

Гость
#7
Для: Andrew Stephanoff
Чета я туплю...
Куда подставлять эту функцию? И где в ней адрес странички прописывать?
 
T

Tisha

Гость
#8
2 Silaev

Функцию нужно поставить в тот элемент формы, где в происходит выбор города.

А описать ее нужно там, где и все остальные функции - в head документа или в файле, где эти скрипты хранятся.

В саму функцию нужно вставить код, который открывает нужную тебе тсраницу
 
Статус
Закрыто для дальнейших ответов.