Подстановка значения из 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>
|
В таком случае поясните какой URL вы ожидаете получить, ибо и здесь нужен будет ?, а за ним ключ=значение? В стиле ЧПУ?
И еще. Скриптом можно менять href ссылки при изменении выбора в списке, но если бы отправлялась форма и пользователь бы ничего не выбрал, то сервер получил бы значение по умолчанию - первой опции. А если он нажмет ссылку, то не получит ничего. То есть ссылка должна также иметь 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>
|
<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>
|
Стоп, так это собственно не ссылка как таковая, в смысле URL, данное будет вызывать диалог, в котором можно выбрать приложение, из которого можно позвонить. Вам это нужно?
|
Цитата:
Спасибо, но скрипт Strongman работает не корректно. При любом выборе селектора в href отображается tel:12345 |
Ну сделайте просто структуру программы от Ваши требования. Поставьте if{}else{}, типа если выбрали определенный option, то в <a href> заталкивать определенные значения.
|
Цитата:
<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>
Но в таком случае лучше будет вместо списка сделать стилизованный список (костомизация), который и будет содержать список ссылок. |
<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>
|
Strongman, выбранная опция и есть значение списка, switch(smy.selectedIndex) здесь излишнее.
|
| Часовой пояс GMT +3, время: 03:07. |