【问题标题】:How to disable click event on JQuery tabs?如何禁用 JQuery 选项卡上的点击事件?
【发布时间】:2013-12-11 10:07:37
【问题描述】:

我有这些简单的标签:

<div class="ftabs">                    

<ul id="tabs" class="tabs nav nav-tabs nav-justified" data-tabs="tabs">
    <li  id='an'><a href="#anag" data-toggle="tab"><h3>Dati Anagrafici</h3></a></li>
    <li id='ind'><a href="#indirizzi"  data-toggle="tab"><h3>Indirizzi</h3></a></li>
    <li id='ref'><a href="#referenti" data-toggle="tab"><h3>Referenti</h3></a></li>
    <li id='ban'><a href="#blue" data-toggle="tab"><h3>Banche</h3></a></li>
</ul>

我可以用jQuery打开我想要的标签,例如:

$("#ref a[href='#referenti']").tab('show');

但我想禁用前 2 个选项卡。这个方法我试过了,还是不行:

$('#tabs').tabs('option', 'disabled', [0, 1]);

为什么?我该怎么做?

【问题讨论】:

  • 您是否尝试过直接选择目标选项卡。就像在这种情况下,您可以通过 $("#an")... 和 $("#ind")... 选择前两个选项卡,然后对其执行必要的操作。

标签: jquery html twitter-bootstrap tabs


【解决方案1】:

您不能禁用活动标签,因此需要将第三个标签设置为活动然后禁用前两个

From Docs:

The selected tab cannot be disabled.

所以

jQuery(function ($) {
    $("#tabs").tabs({
        active: 2,
        disabled: [0, 1]
    });
});

演示:Fiddle

稍后以编程方式禁用选项卡

$("#tabs").tabs("option", "active", 2)
$("#tabs").tabs("option", "disabled", [0, 1]);

演示:Fiddle

【讨论】:

  • @ciaoben 你能更新小提琴来复制这个案例吗
  • 我想我已经解决了,我正在测试它,我会告诉你的!
  • 是的,它有效!我是个笨蛋,我选择的是
      元素的 id,而不是 div 的 id!无论如何感谢您的帮助!
【解决方案2】:

我会使用 jquery index() (http://api.jquery.com/index/) 函数。有了它,您可以找到作为参数传递的元素的索引,如下所示:

//selector could be wrong but you have the use logic
$(".tabs > li").click(function() {
    if ($(".tabs > li").index($(this)) > 1) {
        $(this).tab('show');
    }
});

【讨论】:

  • 如果我在选项卡上设置点击功能,(我试过选择器“li”,#ind ecc..)它什么也没做!为什么???
猜你喜欢
  • 2021-03-19
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多