JQuery Tabs UI / DIV ID, который создается - PullRequest
0 голосов
/ 04 мая 2011

В настоящее время у меня возникают проблемы с тем, как пользовательский интерфейс jquery Tabs генерирует div для вкладок.

Обычно пользователь сначала вызывает $ ("tabs"). Tab () для инициализации вкладок.

 <div id="tabs">
    <ul>
      <li>
        <a href="controls/form_unassigned.html" id="channel1_link">CH1 N/A</a>
      </li>

      <li>
        <a href="controls/form_srw.html" id="channel2_link">CH2 N/A</a>
      </li>

     </ul>
  </div>

Это создаст

<div id="ui-tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>

<div id="ui-tabs-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>

Что и ожидается, если div id равен "ui-" + +.

Однако, если вы вызываете $ ("tabs"). Tab () для повторной инициализации без обновления браузера, увеличенный идентификатор не начинается с 0, а начинается с 2. Поэтому для вкладок будет установлено:

<div id="ui-tabs-3" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>

<div id="ui-tabs-4" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>

Однако желаемый эффект - чтобы идентификатор начинался с 0 каждый раз, когда вызывается инициализация. Поэтому вместо 3/4 для идентификатора div, я хочу 1/2. Я пытался вызвать .tabs ('destroy') в начале каждой инициализации, надеясь, что это сбросит автоматически сгенерированный идентификатор, но это тоже не работает. Я не могу найти что-либо на пользовательском интерфейсе jquery tabs, чтобы решить эту проблему, или, может быть, я просто не вижу этого.

Причина, по которой я хочу, чтобы идентификатор начинался с 0, заключается в том, что я использую этот конкретный div для динамического заполнения содержимого.

Любой совет приветствуется, спасибо! D

Ответы [ 2 ]

0 голосов
/ 22 ноября 2014

За этот пост - используйте атрибут заголовка.

<div id="example">
     <ul>
         <li><a href="ahah_1.html"><span>Content 1</span></a></li>
         <li><a href="ahah_2.html"><span>Content 2</span></a></li>
         <li><a href="ahah_3.html"><span>Content 3</span></a></li>
     </ul>
</div>
Obviously this degrades gracefully - the links, e.g. the content, will still be accessible with JavaScript disabled.

Note that if you wish to reuse an existing container, you could do so by matching a title attribute and the container's id:

<li><a href="hello/world.html" title="Todo Overview"> ... </a></li>
and a container like:

<div id="Todo_Overview"> ... </div>

Отлично работает!

0 голосов
/ 04 мая 2011

Это невозможно без изменения исходного кода пользовательского интерфейса jQuery.

tabId виден только изнутри анонимной функции , обертывающей модуль tabs, и не «экспортирует» никакие функции для его изменения.

Если для вас приемлем очень грязный хак, добавьте в функцию следующее:

window.resetTabID = function() {
    tabId = 0;
}

Это позволит вам вызвать глобальную функцию resetTabID() для сброса идентификатора вкладки. Однако лучше не использовать подобные хаки.

...