Значение тега select в зависимости от url

Тема в разделе "Другие языки", создана пользователем rasandrey, 25 фев 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    Есть форма с тегом <select>, у которого 3 значения. Если выбирать в этом списке значение, то срабатывает js, который подставляет в URL type= и наше значение в списке опять становится "Виберите", а нужно чтобы оставалось то, какое мы выбрали из списка. Как можно поправить?
     
  2. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Установи проверку в коде. Ты же какие то параметры в URL передаешь.:)
     
  3. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    Я знаю, что нужно сделать проверку, я только не знаю как это сделать на js и передать параметры в select
     
  4. alextet

    alextet Создатель

    Регистр.:
    22 мар 2007
    Сообщения:
    27
    Симпатии:
    2
    в JS передай значение SELCTа по типу этого
     
  5. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    PHP:
        <script type="text/javascript">
        if (
    location.href == 'http://awiwatch.ru/price.html')
        
    location 'price.html?type=Мужские';
        
    </script>
                                <form>
                                        <select name="type" ONCHANGE="location ='price.html?type='+ this.options[this.selectedIndex].value;">
                                        <option value="none">Выберите</option>
                                        <option value="Мужские">Мужские</option>
                                        <option value="Женские">Женские</option>
                                          </select>
    </form>
    У меня такой код. Подскажите на этом примере, что прописать, чтобы при выборе значение в тег select подставлялось выбранное!
     
  6. alextet

    alextet Создатель

    Регистр.:
    22 мар 2007
    Сообщения:
    27
    Симпатии:
    2
    Зачем вам чистый HTML? Ведь это можно легко сделать на PHP
    PHP:
     <? echo '<script type="text/javascript"> 
        if (location.href == \'http://awiwatch.ru/price.html\') 
        location = \'price.php?type=Мужские\'; 
        </script> 
                                <form method="GET"> 
                                        <select name="type" ONCHANGE="location =\'price.php?type=\'+ this.options[this.selectedIndex].value;"> ';
    $arr = array("none"=>"Выберите", "Мужские"=>"Мужские", "Женские"=>"Женские");
    foreach($arr as $key=>$value){
        $selected = "";
        if($_GET['type']==$key) $selected = " selected";
        echo '<option value="'.$key.'"'.$selected.'>'.$value.'</option>';
    }
    echo '</select>
    </form>';
    ?>
     
     
  7. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    сайт стоит на CMS и в шаблон нету возможности вставлять php код

    ---------- Post added at 18:34 ---------- Previous post was at 17:00 ----------

    еще актуально!
    На php не подходит, только JS, помогите, плиз
     
  8. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    проблема решена, если кому пригодится:
    в head вставляем
    PHP:
    <script type="text/javascript">
    //получаем элементы строки запроса
    function getQueryItems(uri)
    {
    var 
    query_items = {};

    arr uri.split('?');
    if(!
    arr[1])
    return 
    query_items;

    query arr[1];

    arr query.split('&');

    for(
    index in arr)
    {
    if(
    typeof(arr[index]) == 'string')
    {
    key_value arr[index].split('=');
    if(!
    key_value[1])
    continue;

    query_items[key_value[0]] = key_value[1];
    }
    }

    return 
    query_items;
    }
    //получаем одно значение строки зароса
    function getQueryItem (page_hrefitem_name)
    {
    arr getQueryItems(page_href);

    if(
    arr[item_name])
    return 
    arr[item_name];
    else
    return 
    null;
    }
    // получаем тайп из строки запроса
    var type getQueryItem (window.location.href'наше значение в адресной строке');
    </script>
    в конце странице в теле body вставляем
    PHP:
                                        <script type="text/javascript">
    var 
    mySelectdocument.getElementById('ID нашего селекта');
    for (var 
    0mySelect.options.lengthi++) {
    if (
    mySelect.options[i].value == type)
    {
    mySelect.options[i].selected 'selected';
    break;
    }

                    
    </script>
     
Статус темы:
Закрыта.