Как вы снова активируете вкладку jQuery после использования «onclick»? - PullRequest
2 голосов
/ 14 ноября 2011

Это может быть вопрос новичка ... но здесь идет ...

Я настроил некоторые вкладки, используя jQuery:

<div id='tabs'>
   <ul id='ui-tab-ul'>
      <li><a href='#tabPrimaryDetail'>Primary</a></li>
      <li><a href='#tabSecondaryDetail' onclick='javascript: jQuery.fn.getSecondaryDetails();'>Secondary</a></li>                   
   </ul>
   <div id='tabPrimaryDetail'>
       <p>No information available</p>
   </div>
   <div id='tabSecondaryDetail'>
       <p>No information available</p>
   </div>
</div>

Содержимое моей основной панели создается с помощью другого щелчка мыши, но, поскольку это первая вкладка, мне не нужно было активировать саму вкладку ... Но для моей дополнительной вкладки я хочу получить ее содержимое когда люди нажимают на саму вкладку ... Поэтому я помещаю туда событие onclick, чтобы выполнить вызов AJAX, получить данные и заполнить содержимое ...

Однако я не могу показать дополнительную вкладку ... Я пытался использовать:

$('#tabs').tabs('show', 1);

или

$('#tabs').tabs('select', 1);

Но ни один из них не работает, если я использую select, он просто снова вызовет мой пользовательский вызов AJAX ... Есть ли способ сохранить щелчок для действия табуляции?

Извините, я все еще новичок в jQuery, только начинаю использовать его в течение примерно 2 недель.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2011

Решение состоит в том, чтобы не использовать onclick для тега a

Возможно, вам следует использовать другое событие, например, show или выбрать

$( "#tabs" ).tabs({
   select: function(event, ui) { jQuery.fn.getSecondaryDetails();}
});

Заполнить вкладку до того, как она отобразится

Или

$( "#tabs" ).tabs({
   show: function(event, ui) { jQuery.fn.getSecondaryDetails();}
});

Заполнить вкладку после того, как она отобразится

0 голосов
/ 14 ноября 2011

Вы либо не видите много кода, либо он полон ошибок. Во-первых, я не вижу нигде «#tabs»:

<div id="tabs">

например ... Затем, показать определенный элемент, вы можете использовать функцию .show . Как это:

$('#tabSecondaryDetail').show();

Также это:

onclick='javascript: jQuery.fn.getSecondaryDetails();'

должно быть:

onclick='getSecondaryDetails();'

и т.д ...

Я не хочу сейчас давать вам полный код, но я надеюсь, что это хорошее начало.

...