Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2013, 17:34
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

Динамические селект и ссылка
Общий привет!
Прошу помочь в реализации простенького скрипта.
Есть выпадающий селект
<label>
<select name="count" id="tratata">
<option value="1">День Валентина</option>
<option value="2">Маме</option>
<option value="3">Ребенку</option>
<option value="4">На 8-е марта</option>
<option value="5">Свадебные</option>
</select></label>
и рядом есть ссылка вида
<a href="page<?php print $file;?>.html" onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )">Выбрать</a>

Каким образом, не перезагружая страницы, при выборе определенного значения селекта, его значение (value ="3") подставлялось на место переменной $file
Например, если value ="3", то ссылка будет на page3.html
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2013, 14:19
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

Хотя бы намек дали бы куда копать!!
Эх....
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2013, 14:26
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

вообщето на клиенте у вас уже не будет такой записи как

<a href="page<?php print $file;?>.html" onc...


а будет что-нибудь типо
<a href="page.html" onc...


ну а далее ловите событие на изменение значения и меняйте значение атрибута href элемента а на то что вам необходимо
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2013, 14:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<form>
<select name="select" class="forminput" onchange="location.href=(form.select.options[form.select.selectedIndex].value)"> 
<option>Выбрать</option> 
<option value="http://javascript.ru/forum/">День Валентина</option>
 <option value="http://www.google.ru/search?">Маме</option>
 <option value="Ccылка">Ребенку</option>
 <option value="Ccылка">На 8-е марта</option>
 <option value="Ccылка">Свадебные</option>
</select> 
</form>

Вместо "Ccылка" - свою ссылку
Ну или так

<form>
<select name="select" class="forminput" onchange="location.href=(form.select.options[form.select.selectedIndex].value)"> 
<option>Выбрать</option> 
<option value="/page1.html">День Валентина</option>
 <option value="/page2.html">Маме</option>
 <option value="/page3.html">Ребенку</option>
 <option value="/page4.html">На 8-е марта</option>
 <option value="/page5.html">Свадебные</option>
</select> 
</form>

Последний раз редактировалось Deff, 15.01.2013 в 14:41.
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2013, 14:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,147

rafaello,
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
  <title></title>
</head>
<body>
<label>
<select name="count" id="tratata" >
 <option value="1">День Валентина</option>
 <option value="2">Маме</option>
 <option value="3">Ребенку</option>
 <option value="4">На 8-е марта</option>
 <option value="5">Свадебные</option>
 </select>
 </label>
и рядом есть ссылка вида
<a href="page1.html" onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )">Выбрать</a>
<script type="text/javascript">
 var t = document.getElementById('tratata'),
 a = document.getElementsByTagName('a')[0];
 t.onchange = function () {a.href = "page"+this.value+".html"}
</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2013, 14:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,260

Сообщение от rafaello
Хотя бы намек дали бы куда копать
Как вариант, "первоначальный" УРЛ писать не в href, а какой-то другой атрибут...
ну а потом как mullih советовал "ловить", вычислять конечный УРЛ и "менять" значение у href.
Ответить с цитированием
  #7 (permalink)  
Старый 15.01.2013, 14:43
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

Сообщение от ksa Посмотреть сообщение
Как вариант, "первоначальный" УРЛ писать не в href, а какой-то другой атрибут...
в таком случае лучшего атрибута как data-href не придумаешь))
Ответить с цитированием
  #8 (permalink)  
Старый 15.01.2013, 18:31
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

Друзья! Я безмерно счастлив! Отличный вариант у г-на профессора "рони". То что надо. Но, только он почему то работает на отдельно взятой странице. А если этот же код устанавливаю на страницу магазина (joomshopping)(там где это должно работать), то все - не пашет. Перепробовал разные варианты, и ссылку перекидывал с места на место, и добавлял еще разные ссылки, не пашет, ну ни как.
Самому то трудновато сочинить код, а вот по готовому прочитать уже можно. Вроде все правильно.
объявили переменную t
а потом a ,у которой тег <а> и первая по очереди
и создали событие

Но вот на основном сайте почему то не пашет.
Ответить с цитированием
  #9 (permalink)  
Старый 15.01.2013, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,147

rafaello,
скрипт поставьте после селекта и ссылки или
window.onload = function() {


//здесь код


}
Ответить с цитированием
  #10 (permalink)  
Старый 15.01.2013, 19:05
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

что то никак.
и так
<script type="text/javascript">
 var t = document.getElementById('tratata'),
 a = document.getElementsByTagName('a')[0];
 t.onchange = function () {a.href = "page"+this.value+".html"}
	</script>

и вот так не пахает
<script type="text/javascript">
window.onload = function() {
 var t = document.getElementById('tratata'),
 a = document.getElementsByTagName('a')[0];
 t.onchange = function () {a.href = "page"+this.value+".html"}
}
	</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вконтакте (ссылка с автовоспроизведением видео) Samara2000 Общие вопросы Javascript 2 02.09.2012 16:12
Нужен скрипт Samfer Работа 6 08.04.2012 14:26
Динамический селект alkelar Общие вопросы Javascript 1 05.07.2011 10:43
Как повлиять на селект arma Элементы интерфейса 3 01.03.2011 08:40
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58