Javascript.RU

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

Как сделать пункт в выпадающем списке по умолчанию, после перехода по ссылке?
Добрый день.
Есть форма со списком select. В ней несколько пунктов option. При переходе по ссылке с другой страницы необходимо делать так, чтобы выбирался нужный пункт автоматически (по умолчанию).
К примеру, есть список
- Кот
- Кошка
- Динозавр.
При переходе с главной страницы по ссылке, например, "Кошка", в списке было выбрано
- Кошка.
И т.д.
Как это сделать? Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2012, 11:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Damian
Как это сделать? Заранее спасибо.
Анализируете -и сравниваете скриптом свои ссылки в списке с адресом текущей страницы - её и делаете активной
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2012, 11:25
Аватар для Damian
Интересующийся
Отправить личное сообщение для Damian Посмотреть профиль Найти все сообщения от Damian
 
Регистрация: 02.11.2009
Сообщений: 12

ммм.. Спасибо, а можно поподробнее?
Ответить с цитированием
  #4 (permalink)  
Старый 28.08.2012, 11:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var testLnk = location.href;
далее ищите свою ссылку в списке - делайте попытки -выкладываете минимальное HTML и скрипты - Вам помогут
Ответить с цитированием
  #5 (permalink)  
Старый 28.08.2012, 11:48
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Damian, предположим вы на странице http://domain.ru/?cat
window.onload = function () {
    var opt = (window.location.search).replace("?", "");
    var select = document.getElementById("id вашего select").options;
    for (i=0; i < select.length; i++) {
        if (select[i].value == opt) { break; }
    }
    document.getElementById("id вашего select").selectedIndex = i;
}

http://javascript.ru/window-location
Ответить с цитированием
  #6 (permalink)  
Старый 28.08.2012, 12:39
Аватар для Damian
Интересующийся
Отправить личное сообщение для Damian Посмотреть профиль Найти все сообщения от Damian
 
Регистрация: 02.11.2009
Сообщений: 12

Мягко говоря, я не очень хорошо разбираюсь в JavaScript
Не могли бы вы, если не затруднит конечно, дополнить мой код нужным?

Ссылка на главной странице:
<a href="http://site/forma">Собаченька</a>

Форма на внутренней:
<select>
<option>Собаченька</option>
<option>Котэ</option>
</select>
Ответить с цитированием
  #7 (permalink)  
Старый 28.08.2012, 12:46
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Damian, в ссылку еще что-нибудь нужно добавить, типа
<a href="http://site/forma?dog">Собаченька</a>

тогда
window.onload = function () {
    var opt = (window.location.search).replace("?", "");
    var select = document.getElementById("sel").options;
    for (i=0; i < select.length; i++) {
        if (select[i].value == opt) { break; }
    }
    document.getElementById("sel").selectedIndex = i;
}


<select id="sel">
<option value="dog">Собаченька</option>
<option value="cat">Котэ</option>
</select>


а если ниспадающий список статический, т.е.в нем всегда одни и те же пункты на одних и тех же местах, то можно создать объект (ассоциативный массив) и через него подставлять сразу в selectedIndex номер элемента списка

Последний раз редактировалось lord2kim, 28.08.2012 в 12:58.
Ответить с цитированием
  #8 (permalink)  
Старый 28.08.2012, 13:17
Аватар для Damian
Интересующийся
Отправить личное сообщение для Damian Посмотреть профиль Найти все сообщения от Damian
 
Регистрация: 02.11.2009
Сообщений: 12

Что-то не работает(((
У меня статичная форма с неизменяемыми полями. Перед ней я поставил
window.onload = function () {
    var opt = (window.location.search).replace("?", "");
    var select = document.getElementById("sel").options;
    for (i=0; i < select.length; i++) {
        if (select[i].value == opt) { break; }
    }
    document.getElementById("sel").selectedIndex = i;
}


Но, перейдя по ссылке, список остаётся как есть.
Ответить с цитированием
  #9 (permalink)  
Старый 28.08.2012, 13:17
Аватар для Damian
Интересующийся
Отправить личное сообщение для Damian Посмотреть профиль Найти все сообщения от Damian
 
Регистрация: 02.11.2009
Сообщений: 12

Полагаю, что я вообще всё не так сделал?
Ответить с цитированием
  #10 (permalink)  
Старый 28.08.2012, 13:26
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Damian, скрипт можете поместить в любом месте страницы, не забывая его заключать в теги <script></script>
вы ссылку(-и) и ниспадающий список поправили в соответствии с постом №7?
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню на дивах Golovastik (X)HTML/CSS 38 13.09.2010 08:10
Как сделать чтобы картинка не открывалась по ссылке а скачивалась test Общие вопросы Javascript 4 20.06.2009 07:35
Как отметить выбранный пункт <li> в списке <ul> DarkMaster13 Я не знаю javascript 11 19.05.2009 16:38
Объект при загрузке страницы и после операций над ним fact jQuery 7 20.04.2009 21:02
как сделать ссылку перехода на скрипт bazhan Общие вопросы Javascript 6 04.09.2008 09:56