0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 5391 Просмотров
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Ребят, помогите пожалуйста в форме в форме Select region сделать так, чтобы во втором списке элементам была присвоена ссылка, и при нажатии на кнопку осуществлялся переход по ссылке, соответствующей выбранному элементу.

Пример. Вот так сейчас у меня, а нужно, чтобы при выборе, к примеру, Москва, я попадал на сайт Москвы.
*

beliyadm

  • Легенда
  • 9512
  • 1651 / 66
  • Севастополь == Россия
Re: Select region - ссылки в элементах списка
« Ответ #1 : 19.07.2009, 09:15:17 »
Код
<script>
function _go() {
    alert(document.getElementById('address').options[document.getElementById('address').selectedIndex].value);
    location.href=document.getElementById('address').options[document.getElementById('address').selectedIndex].value;
}
</script>
<select onchange="_go()" id="address">
    <option></option>
    <option value="http://www.html.by">http://www.html.by</option>
    <option value="http://www.yahoo.com">http://www.yahoo.com</option>
</select>
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Select region - ссылки в элементах списка
« Ответ #2 : 19.07.2009, 09:20:14 »
beliyadm, смотрите, дело в том, что элементы второго списка формируются вот таким образом (где centrcher - название элемента первого списка, которому соответствуют нижеследующие элементы второго):
Код
 var centrcherArray = new Array(
        'Egypt', 'Iran', 'Israel', 'Kuwait', 'Lebanon', 'Morocco',
        'Saudi Arabia', 'Syria', 'Turkey', 'U.A.Emirates', 'Other'
    );

А вообще, вот код полностью:
Код
function ff_CselRegion_action(element, action)
{
    country = ff_getElementByName('CselCountry');
    state   = ff_getElementByName('CselState');

    var centrArray = new Array(
        <a href="http://www.summitapec2012.ru">rgrg</a>, '33. Владимирская область', '37. Ивановская область', '40. Калужская область'
    );

    var centrcherArray = new Array(
        'Egypt', 'Iran', 'Israel', 'Kuwait', 'Lebanon', 'Morocco',
        'Saudi Arabia', 'Syria', 'Turkey', 'U.A.Emirates', 'Other'
    );

    var vostochsibArray = new Array(
        'Armenia', 'Bangladesh', 'Cambodia', 'China', 'India', 'Indonesia',
        'Japan', 'Malaysia', 'Myanmar', 'Nepal', 'Pakistan', 'Philippines',
        'Singapore', 'South Korea', 'Sri Lanka', 'Taiwan', 'Thailand',
        'Uzbekistan', 'Vietnam', 'Other'
    );

    var dalnevostochArray = new Array(
        'Albania', 'Austria', 'Belarus', 'Belgium', 'Bosnia', 'Bulgaria',
        'Croatia', 'Cyprus', 'Czech Rep.', 'Denmark', 'Estonia', 'Finland',
        'France', 'Germany', 'Greece', 'Hungary', 'Iceland', 'Ireland',
        'Italy', 'Latvia', 'Liechtenstein', 'Lithuania', 'Luxembourg',
        'Macedonia', 'Malta', 'Monaco', 'Netherlands', 'Norway', 'Poland',
        'Portugal', 'Romania', 'Russia', 'Slovakia', 'Slovenia', 'Spain',
        'Sweden', 'Switzerland', 'Ukraine', 'United Kingdom', 'Other'
    );

    var severnArray = new Array('Australia', 'New Zealand', 'Other');

    var severokavArray = new Array(
        'Costa Rica', 'Cuba', 'El Salvador', 'Guatemala', 'Haiti', 'Jamaica',
        'Mexico', 'Panama', 'Other'
    );

    var severozapArray =  new Array('Canada', 'USA', 'Other');

    var povoljskArray =  new Array('Canada', 'USA', 'Other');

    var uralskArray =  new Array('Canada', 'USA', 'Other');

    var volgoviatsk =  new Array('Canada', 'USA', 'Other');

    var zapsib =  new Array(
        'Argentina', 'Bolivia', 'Brazil', 'Chile', 'Colombia', 'Ecuador',
        'Paraguay', 'Peru', 'Suriname', 'Uruguay', 'Venezuela', 'Other'
    );

    if (element.value == 'none') {
        // drop countries
        while (country.options.length > 0)
            country.options[country.options.length-1] = null;
    } else {
        // get the matching array
        var selectedArray = eval(element.value+'Array');

        // drop supernumerous option
        while (selectedArray.length < country.options.length-1)
            country.options[country.options.length-1] = null;

        // add the new options
        country.options[0] = new Option('Выберите регион', 'none', true, true);
        for (var i=0; i < selectedArray.length; i++)
            country.options[i+1] =
                new Option(selectedArray[i], selectedArray[i]);
    } // if

    // drop states
    while (state.options.length > 0)
        state.options[state.options.length-1] = null;
} // ff_CselRegion_action
*

beliyadm

  • Легенда
  • 9512
  • 1651 / 66
  • Севастополь == Россия
Re: Select region - ссылки в элементах списка
« Ответ #3 : 19.07.2009, 09:30:57 »
ну так создайте для элементов\городов двухуровневый массив, в втором параметре храните значение куда переходить по событию onchange
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Select region - ссылки в элементах списка
« Ответ #4 : 19.07.2009, 10:29:46 »
beliyadm, а как? Подскажите пожалуйста. Сам я никогда так не сделаю:(
Всё осложняется тем, что я делаю это через  BreezingForms , поэтому вообще мне нифига непонятно.
*

beliyadm

  • Легенда
  • 9512
  • 1651 / 66
  • Севастополь == Россия
Re: Select region - ссылки в элементах списка
« Ответ #5 : 19.07.2009, 10:43:56 »
вот за это и не люблю конструкторы форм, бо так не понимаешь что происходит
Могу предложить погуглить на тему многоуровневых массивов и их реализации в JS, найти похожий функционал и разобрать, готового кода под рукой нет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Select region - ссылки в элементах списка
« Ответ #6 : 19.07.2009, 10:46:39 »
Вчера искал, нашел. Есть много полезных материалов. Видимо, придётся их и использовать...
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Select region - ссылки в элементах списка
« Ответ #7 : 19.07.2009, 11:13:49 »
Решил использовать данный пример: http://webamator.ru/public_14-3_spiski_eto_neslojno.html
« Последнее редактирование: 19.07.2009, 11:41:33 от Wharfadale »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передача параметров от checkgroup box и списка

Автор james may

Ответов: 4
Просмотров: 2725
Последний ответ 31.01.2011, 03:15:39
от Dominus
Зависимые select-list'ы получающие данные из БД

Автор alex-inc

Ответов: 1
Просмотров: 3436
Последний ответ 13.07.2010, 01:47:59
от alex-inc