2015-10-07 4 views
0

У меня есть раскрывающееся меню, которое отлично работает, делает ли изменения страницы безупречно. Проблема заключается в том, что выбранная страница загружается и отображается, мне нужно, чтобы она отображала имя выбора в раскрывающемся меню, так как это активная страница. У меня есть следующий код:Как получить выбранное значение для отображения в DropDown Menu

 <div class="about-navDropWrapper"> 
      <select onchange="location = this.options[this.selectedIndex].value;"> 
       <?php 
          if (get_field('games_nav_drop_down_link', 'option')): 
           while(has_sub_field('games_nav_drop_down_link', 'option')) : 
         ?> 
         <option value="<?php echo get_sub_field('games_nav_drop_down_link_one', 'option'); ?>"><?php echo get_sub_field('games_nav_drop_down_name', 'option'); ?></option> 
         <?php 
          endwhile; 
          endif; 
         ?> 
      </select> 
     </div> 

Любые предложения?

ответ

1

Вы должны добавить атрибуты selected="selected" к элементу опции для выбранной вами страницы. Вы можете сделать это в JQuery путем поиска <option> со значением элемента, который вы хотите (примечание Я предполагаю, что > в конце вашего values была опечатка и удалить его):

Так, например, предположим, что мы хотим показать page3.html.

var selected = "page3.html"; // Would be replaced with the page by location 
 

 
$("#selectItem option[value='"+selected+"']").attr("selected", "selected");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="about-navDropWrapper"> 
 
      <select id="selectItem"> 
 
       <option value="page1.html">Page 1</option> 
 
       <option value="page2.html">Page 2</option> 
 
       <option value="page3.html">Page 3</option> 
 
       <option value="page4.html">Page 4</option> 
 
      </select> 
 
     </div>

+0

Все еще не будет работать для меня – MikeL5799

+0

@ MikeL5799 Не могли бы вы объяснить, почему? Этот пример отлично работает. Вы уверены, что правильно выбрали 'selected'? –

+0

Приносим извинения за Спенсера. Я забыл упомянуть, что это было в WordPress. Я обновил код, чтобы показать, как он выглядит на самом деле – MikeL5799

0

Пожалуйста, попробуйте следующее:

<script> 
     onload = function() { 

      var thisPage = location.pathname.replace("/", ""); 

      document.getElementsByTagName("select")[0].value = thisPage; 
     } 
    </script> 
Смежные вопросы