Подскажите пожалуйста, как добавить ссылку в скрипт

12
Gazetadir
На сайте с 18.10.2016
Offline
7
2510

Есть скрипт выпадающего списка:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<title>Изменение значения в поле Select (c) Aliance</title>

<script type="text/javascript">

var regiondb = new Object()

regiondb["africa"] = [{value:"1", text:"Каир"},

{value:"2", text:"Триполи"},

{value:"3", text:"Алжир"},

{value:"4", text:"Претория"}];

regiondb["asia"] = [{value:"1", text:"Банкок"},

{value:"2", text:"Дели"},

{value:"3", text:"Улан-Батор"},

{value:"4", text:"Джакарта"},

{value:"5", text:"Токио"}];

regiondb["australia"] = [{value:"1", text:"Мельбурн"},

{value:"2", text:"Сидней"}];

regiondb["europe"] = [{value:"1", text:"СПб"},

{value:"2", text:"Лондон"},

{value:"3", text:"Афины"},

{value:"4", text:"Барселона"},

{value:"5", text:"Париж"},

{value:"6", text:"Рим"},

{value:"7", text:"Москва"},

{value:"69", text:"Бабруйск :)"}];

regiondb["noamer"] = [{value:"1", text:"Нью-Йорк"},

{value:"2", text:"Вашингтон"},

{value:"3", text:"Лос Анджелес"},

{value:"4", text:"Оттава"}];

regiondb["soamer"] = [{value:"1", text:"Рио дэ Жанейро"},

{value:"2", text:"Лима"},

{value:"3", text:"Каракас"}];

function setCities(chooser) {

var cityChooser = chooser.form.elements["city"];

// обнуляем список

cityChooser.options.length = 0;

// получаем value для массива regiondb

var choice = chooser.options[chooser.selectedIndex].value;

var db = regiondb[choice];

// вставляем первый элемент

cityChooser.options[0] = new Option("Город: ", "", true, false);

if (choice != "") {

for (var i = 0; i < db.length; i++) {

cityChooser.options = new Option(db.text, db.value);
}
}
}
</script>
</head>
<body>
<form name="dealers" action="">
<select name="continent" onchange="setCities(this)">
<option value="" selected>Континент: </option>
<option value="africa">Африка</option>
<option value="asia">Азия</option>
<option value="australia">Австралия</option>
<option value="europe">Европа</option>
<option value="noamer">С. Америка</option>
<option value="soamer">Ю. Америка</option>
</select>&nbsp;
<select name="city">
<option value="" selected>Город: </option>
</select>
</form>
</body>
</html>

Нужно что бы города в нем были не просто текстовым списком а ссылками.
Подаскажите, пожалуста, как это осуществить?

Настройка Я.Директа не за проценты - с фиксированной минимальной оплатой.
jeklaklo
На сайте с 05.10.2015
Offline
21
#1

<a href="ссылка">Город</a>

Gazetadir
На сайте с 18.10.2016
Offline
7
#2
jeklaklo:
<a href="ссылка">Город</a>

Это я понимаю, что самый простой способ это использовать a href, но куда его вставить поконкретнее? я перепробовал кучу вариантов...😡

{value:"ссылка", text:"Афины"} тоже пробовал

vandamme
На сайте с 30.11.2008
Offline
672
#3

чистый яваскрипт нужен?

Gazetadir
На сайте с 18.10.2016
Offline
7
#4
vandamme:
чистый яваскрипт нужен?

Очень хотелось бы что да - чистый яваскрипт

vandamme
На сайте с 30.11.2008
Offline
672
#5

вообще-то вам на стаковерфлоу, там прогеры сидят

работающий пример http://jsbin.com/biletulibo/edit?html,output

function setCities(chooser) {

//выбранный континент
continent = chooser.options[chooser.selectedIndex].value;
//массив городов континента
var citiesArray = regiondb[continent];

//наш див для результатов и чистим сразу
var div = document.getElementById('cities');
div.innerHTML = '';

//перебираем города
citiesArray.forEach(function(item){

//создаем элемент и заполняем значениями
var link = document.createElement('a');
link.href = '/';
link.appendChild(document.createTextNode(item.text));

//засаживаем в див
div.appendChild(link);
});
}
Gazetadir
На сайте с 18.10.2016
Offline
7
#6
vandamme:
вообще-то вам на стаковерфлоу, там прогеры сидят
работающий пример http://jsbin.com/biletulibo/edit?html,output

function setCities(chooser) {

//выбранный континент
continent = chooser.options[chooser.selectedIndex].value;
//массив городов континента
var citiesArray = regiondb[continent];

//наш див для результатов и чистим сразу
var div = document.getElementById('cities');
div.innerHTML = '';

//перебираем города
citiesArray.forEach(function(item){

//создаем элемент и заполняем значениями
var link = document.createElement('a');
link.href = '/';
link.appendChild(document.createTextNode(item.text));

//засаживаем в див
div.appendChild(link);
});
}

Вандам! Большое спасибо! [ATTACH]161046[/ATTACH]

Второй список почему то не список, но за направление спасибо еще раз )

png 161046.png
Gazetadir
На сайте с 18.10.2016
Offline
7
#7

vandamme, Все таки не могу сообразить где ошибка, как можно поправить второй список?

S
На сайте с 30.09.2016
Offline
469
#8

Gazetadir, странные какие-то у Вас проблемы. Вставляйте свою ссылку в value и не парьтесь.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
vandamme
На сайте с 30.11.2008
Offline
672
#9
Sitealert:
странные какие-то у Вас проблемы. Вставляйте свою ссылку в value и не парьтесь.

это не проблемы, это сюжет из шоу-балета "сделайте все за меня".

Gazetadir
На сайте с 18.10.2016
Offline
7
#10
Sitealert:
Gazetadir, странные какие-то у Вас проблемы. Вставляйте свою ссылку в value и не парьтесь.

в том то и дело что через value не работает. выше написал что пробовал.

---------- Добавлено 12.03.2017 в 20:26 ----------

vandamme:
это не проблемы, это сюжет из шоу-балета "сделайте все за меня".

я не спорю очень помог мне, спасибо! плюсую как могу ))

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий