Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2016, 12:33
Аспирант
Отправить личное сообщение для Exhaust_ Посмотреть профиль Найти все сообщения от Exhaust_
 
Регистрация: 16.09.2014
Сообщений: 52

Подстановка значения из select в href ссылки
Как сделать так чтобы при изменении номера телефона в select менялся href в ссылке? Спасибо.

<select name="nomer" size="1">
    <option value="tel:123456" selected="">123456</option>
    <option value="tel:234567">234567</option>
    <option value="tel:345678">345678</option>
</select>
<a href="">позвонить</a>
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2016, 13:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

В таком случае поясните какой URL вы ожидаете получить, ибо и здесь нужен будет ?, а за ним ключ=значение? В стиле ЧПУ?
И еще. Скриптом можно менять href ссылки при изменении выбора в списке, но если бы отправлялась форма и пользователь бы ничего не выбрал, то сервер получил бы значение по умолчанию - первой опции. А если он нажмет ссылку, то не получит ничего. То есть ссылка должна также иметь url, параметром запроса которой должно быть значение по умолчанию списка.
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2016, 13:26
Аспирант
Отправить личное сообщение для Exhaust_ Посмотреть профиль Найти все сообщения от Exhaust_
 
Регистрация: 16.09.2014
Сообщений: 52

Сообщение от laimas
поясните какой URL вы ожидаете получить
Если пользователь выбрал второй номер телефона, то после срабатывания скрипта должно получится вот это:

<select name="nomer" size="1">
    <option value="tel:123456" selected="">123456</option>
    <option value="tel:234567">234567</option>
    <option value="tel:345678">345678</option>
</select>
<a href="tel:234567">позвонить</a>
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2016, 13:38
Кандидат Javascript-наук
Отправить личное сообщение для Strongman Посмотреть профиль Найти все сообщения от Strongman
 
Регистрация: 22.03.2016
Сообщений: 132

<select id="s1" name="nomer">
    <option value="tel:123456" selected="">123456</option>
    <option value="tel:234567">234567</option>
    <option value="tel:345678">345678</option>
</select>
<a id="a1" href="tel:234567">Позвонить</a>

<script>
var smy = document.getElementById("s1");
var assilka = document.getElementById("a1");

smy.onchange = function OnChange()
{
assilka.href = "tel:12345";
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2016, 13:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Стоп, так это собственно не ссылка как таковая, в смысле URL, данное будет вызывать диалог, в котором можно выбрать приложение, из которого можно позвонить. Вам это нужно?
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2016, 13:51
Аспирант
Отправить личное сообщение для Exhaust_ Посмотреть профиль Найти все сообщения от Exhaust_
 
Регистрация: 16.09.2014
Сообщений: 52

Сообщение от laimas
Вам это нужно?
Да, это для мобильной версии сайта.

Спасибо, но скрипт Strongman работает не корректно. При любом выборе селектора в href отображается tel:12345
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2016, 13:56
Кандидат Javascript-наук
Отправить личное сообщение для Strongman Посмотреть профиль Найти все сообщения от Strongman
 
Регистрация: 22.03.2016
Сообщений: 132

Ну сделайте просто структуру программы от Ваши требования. Поставьте if{}else{}, типа если выбрали определенный option, то в <a href> заталкивать определенные значения.
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2016, 14:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Exhaust_
Да, это для мобильной версии сайта.
Это не верстка, это JS, для моб. устройств тут только может быть поддержка чего-то или нет.

<select onchange="document.querySelector('#num').href=this.value">
    <option value="tel:123456" selected="">123456</option>
    <option value="tel:234567">234567</option>
    <option value="tel:345678">345678</option>
</select>
<a id="num" href="tel:234567">позвонить</a>


Но в таком случае лучше будет вместо списка сделать стилизованный список (костомизация), который и будет содержать список ссылок.
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2016, 14:02
Кандидат Javascript-наук
Отправить личное сообщение для Strongman Посмотреть профиль Найти все сообщения от Strongman
 
Регистрация: 22.03.2016
Сообщений: 132

<select id="s1" name="nomer">
    <option value="tel:123456" selected="">123456</option>
    <option value="tel:234567">234567</option>
    <option value="tel:345678">345678</option>
</select>
<a id="a1" href="tel:234567">Позвонить</a>

<script>
var smy = document.getElementById("s1");
var assilka = document.getElementById("a1");

smy.onchange = function OnChange()
{
switch(smy.selectedIndex)
{
case 0: 
assilka.href = "Selected-0";
break;  
case 1: 
assilka.href = "Selected-1";
break;  
case 2: 
assilka.href = "Selected-2";
break;  
}
}
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2016, 14:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Strongman, выбранная опция и есть значение списка, switch(smy.selectedIndex) здесь излишнее.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача нового значения value в select tvixa Элементы интерфейса 5 08.09.2015 15:41
Как изменить значение jquey range в зависимости от значения select? drkrol jQuery 1 07.09.2015 01:24
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 15:19
изменение значения input при смене значения select galart jQuery 4 30.01.2015 18:39
Как в oninput получить значения select? Jeick9 Events/DOM/Window 9 11.10.2014 19:18