none
Выпадающий список select option. RRS feed

  • Вопрос

  • Код: Работает хорошо.

    <form>
    <select class="menu" onchange="window.open(this.options[this.selectedIndex].value,'_top')">
    <option value="~/1">1</option>
    <option value="~/2">2</option>
    <option value="~/3">3</option>
    </select>
    </form>

    Проблема в том, что при проверке на SEO нет перехода по ссылкам указанным в "value".

    Как это можно исправить?

    Можно ли сделать этот код на Razor? Или как то ещё?

    Можно конечно это сделать через CSS, но список открывается пи наведении мышки на кнопку, а надо при нажатии...

    2 апреля 2013 г. 15:07

Ответы

  • Привет,

    Может у Вас Active Scripting в IE10 не активирован:

    enable JavaScript 

    Я нашёл ошибку. Она заключается в "async".
    <script type="text/javascript" src="~/_Js/Jquery.js" async></script>

     IE10 клинит. Если установлен "async", а скрипт стоит на странице, то IE10 его не запускает. Убираешь "async" всё работает. Либо подключаешь скрипт с отдельной страницы.
    Вот такая проблема у IE10...
    • Помечено в качестве ответа Континент 4 апреля 2013 г. 10:19
    4 апреля 2013 г. 10:19

Все ответы

  • Нет, такое сделать нельзя. Нельзя вставлять тег <a> в атрибут, коим является value. Можете вставить их внизу списка и сделать их скрытыми, т.е. поисковик будет видеть их, а пользователь нет.
    2 апреля 2013 г. 18:18
    Модератор
  • Нет, такое сделать нельзя. Нельзя вставлять тег <a> в атрибут, коим является value. Можете вставить их внизу списка и сделать их скрытыми, т.е. поисковик будет видеть их, а пользователь нет.

    Да это уж понятно. Поэтому и написал на форум, так как с ним ничего нельзя сделать.

    Нашёл я "jQuery menu plugin". Переделал кнопочку и всё. Не плохо получилось. В принципе то же самое, что и Select option.

    Кому интересно, есть еще плагин: "jQueryUI". В поисковиках плагины находятся легко, даже и объяснения есть.

    2 апреля 2013 г. 18:59
  • Нашёл простенький код JS выпадающего списка.  Проверял в Хроме и IE7 работает. Но не работает в IE10. Подскажите в чём проблема. Весь код привожу.

    <div style='margin:50px'> <div class="dropdown"> <a class="account"><span>My Account</span></a> <div class="submenu" style="display: none; "> <ul class="root"> <li><a href="#Dashboard">Dashboard</a></li> <li><a href="#Profile">Profile</a></li> <li><a href="#settings">Settings</a></li> <li><a href="#feedback">Send Feedback</a></li> <li><a href="#signout">Sign Out</a></li> </ul> </div> </div> </div>

    .dropdown {
    color: #555;
    margin: 3px -22px 0 0;
    width: 143px;
    ;
    height: 17px;
    text-align:left;
    }
    .submenu
    {
    background: #fff;
    ;
    top: -12px;
    left: -20px;
    z-index: 100;
    width: 135px;
    display: none;
    margin-left: 10px;
    padding: 40px 0 5px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    }
    
    .dropdown  li a {
        color: #555555;
        display: block;
        font-family: arial;
        font-weight: bold;
        padding: 6px 15px;
        cursor: pointer;
        text-decoration:none;
    }
    
    .dropdown li a:hover{
        background:#155FB0;
        color: #FFFFFF;
        text-decoration: none;
    }
        
    .account {
    font-size: 11px;
    line-height: 16px;
    color: #555;
    ;
    z-index: 110;
    display: block;
    padding: 11px 0 0 20px;
    height: 28px;
    width: 121px;
    margin: -11px 0 0 -10px;
    text-decoration: none;
    background: url(../_Images/drop.gif) 116px 17px no-repeat;
    cursor:pointer;
    }
    .root
    {
    list-style:none;
    margin:0px;
    padding:0px;
    font-size: 11px;
    padding: 11px 0 0 0px;
    border-top:1px solid #dedede;
    	
    }


    $(document).ready(function()
    {
    $(".account").click(function()
    {
    var X=$(this).attr('id');
    
    if(X==1)
    {
    $(".submenu").hide();
    $(this).attr('id', '0');	
    }
    else
    {
    
    $(".submenu").show();
    $(this).attr('id', '1');
    }
    	
    });
    
    //Mouseup textarea false
    $(".submenu").mouseup(function()
    {
    return false
    });
    $(".account").mouseup(function()
    {
    return false
    });
    
    
    //Textarea without editing.
    $(document).mouseup(function()
    {
    $(".submenu").hide();
    $(".account").attr('id', '');
    });
    	
    });


    3 апреля 2013 г. 8:03
  • Перепробовал кучу скриптов и JS и JQueri по выпадающим спискам. Суть одна, в IE10 они не работают. В IE7, Хром, Мозилла все скрипты работают отлично.

    Подскажите кто нибудь, В ЧЁМ ДЕЛО ???

    Почему в IE10 ни один скрипт не работает ???

    3 апреля 2013 г. 14:12
  • Привет,

    Может у Вас Active Scripting в IE10 не активирован:

    enable JavaScript 

    4 апреля 2013 г. 7:58
    Модератор
  • Привет,

    Может у Вас Active Scripting в IE10 не активирован:

    enable JavaScript 

    Я нашёл ошибку. Она заключается в "async".
    <script type="text/javascript" src="~/_Js/Jquery.js" async></script>

     IE10 клинит. Если установлен "async", а скрипт стоит на странице, то IE10 его не запускает. Убираешь "async" всё работает. Либо подключаешь скрипт с отдельной страницы.
    Вот такая проблема у IE10...
    • Помечено в качестве ответа Континент 4 апреля 2013 г. 10:19
    4 апреля 2013 г. 10:19