jQuery TabData:是否可以获取 ClickedTab 数据而不是索引?

发布于 2024-07-09 11:24:10 字数 717 浏览 5 评论 0原文

我设计了像下面这样的 TabMenu

<script type="text/javascript">
    $(function() {
      $('#container-1').tabs();
      $('#container-2').tabs();
    }
</script>

.....
<div id="container-1">
    <ul>
    <li><a href="#fragment-1"><span id="start">First</span></a></li>
    </ul>
</div>
<div id="container-2">
    <ul>
    <li><a href="#fragment-1"><span id="end">Last</span></a></li>
    </ul>
</div>
.....

是否可以获取 ClickedTab 数据而不是索引? 就像如果 ClickTab 是第一个然后是 #fragment1 一样。 否则,如果 ClickTab 位于最后,则#fragment2

我怎样才能做到这一点?

I have designing the TabMenu Like following

<script type="text/javascript">
    $(function() {
      $('#container-1').tabs();
      $('#container-2').tabs();
    }
</script>

.....
<div id="container-1">
    <ul>
    <li><a href="#fragment-1"><span id="start">First</span></a></li>
    </ul>
</div>
<div id="container-2">
    <ul>
    <li><a href="#fragment-1"><span id="end">Last</span></a></li>
    </ul>
</div>
.....

Is it possible to get the ClickedTab data, instead of the index? Like if ClickTab is first then #fragment1. Else if ClickTab is last, #fragment2.

How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

汹涌人海 2024-07-16 11:24:10

你能澄清一下你的意思吗?

如果您将其更改

<li><a href="#fragment-1"><span id="end">Last</span></a></li>

<li><a href="#fragment-2"><span id="end">Last</span></a></li>

:那么当您单击它时它将加载#fragment-2。

如果您确实想获取单击选项卡的数据,那么您可以挂钩 tabsselect 事件

$('.ui-tabs-nav').bind('tabsselect', function(event, ui) {
//ui.panel is a dom element that contains the contents of the clicked tab.
}

进一步阅读可在 Jquery UI 文档

Can you clarify what you mean?

If you change this:

<li><a href="#fragment-1"><span id="end">Last</span></a></li>

to:

<li><a href="#fragment-2"><span id="end">Last</span></a></li>

Then it will load #fragment-2 when you click it.

If you actually want to get the data of the clicked tab, then you can hook into the tabsselect event

$('.ui-tabs-nav').bind('tabsselect', function(event, ui) {
//ui.panel is a dom element that contains the contents of the clicked tab.
}

Further reading available at the Jquery UI docs

对不⑦ 2024-07-16 11:24:10

我希望这意味着您已经完成了另一部分的工作。 在前面的示例的基础上,这是可能的:

  $(document).ready(function() {
      $('#container-1').tabs({
          selected : function(e, ui) {
            if ($($("a", e.target).get(ui.index)).attr('href') == '#fragment-1') {
                alert('First clicked!');
            }
          }        
      }); 
  });
   ....
  <div  id="container-1">
        <ul>
            <li><a href="#fragment-1"><span>Home</span></a></li>
            <li><a href="#fragment-2"><span>Contact</span></a></li>

         </ul>
  </div>

最终,使用索引可能更好,因为这需要您了解一些选项卡实现细节,并且您可以使用开关来处理每个选项卡的逻辑。 但是,如果您觉得内容更适合您的需求,那么这应该就可以了。

I hope this means you got the other part working. Building on the previous example this is possible:

  $(document).ready(function() {
      $('#container-1').tabs({
          selected : function(e, ui) {
            if ($($("a", e.target).get(ui.index)).attr('href') == '#fragment-1') {
                alert('First clicked!');
            }
          }        
      }); 
  });
   ....
  <div  id="container-1">
        <ul>
            <li><a href="#fragment-1"><span>Home</span></a></li>
            <li><a href="#fragment-2"><span>Contact</span></a></li>

         </ul>
  </div>

Ultimately it is probably better to use index since this requires you to know a bit of the tab implementation details and you can use a switch to handle the logic for each tab. However, if you feel that the content suits your needs better, than this should work just fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文