jQuery UI 手风琴禁用选项卡

发布于 2024-11-06 11:48:02 字数 187 浏览 3 评论 0原文

如何禁用 jQuery UI accordion() 中的某些选项卡,以便用户无法单击打开选项卡的内容。假设我想禁用下面示例中的第二个选项卡。

http://jsfiddle.net/3JAkv/8/

How can i disable certain tabs in jQuery UI accordion()so user cannot click to open the content of the tab. Let's say i want to disabled the second tab in the below example.

http://jsfiddle.net/3JAkv/8/

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

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

发布评论

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

评论(3

意犹 2024-11-13 11:48:02

也许我错了,
但如果我将“ui-state-disabled”类添加到所需的标题中,标题/选项卡将不再可选。

我正在与:
jquery-ui-1.10.3 和 jquery-1.7.1

Maybe i'm wrong,
but if i add the class "ui-state-disabled" to the desired header, the header / tab is no longer select-able.

I'm working with:
jquery-ui-1.10.3 and jquery-1.7.1

滥情空心 2024-11-13 11:48:02

在 1.8.x 中没有捆绑的方法可以做到这一点。

在版本 1.9 中(测试版已在撰写本文时发布),beforeActivate 事件看起来您可以处理并返回 false 以防止激活发生。假设您已在禁用部分的标题上设置了 .data('enabled', false) ,您可以在 1.9 中执行如下操作:

$('.ui-accordion').bind('accordionchangestart', function(event, ui) {
  if(ui.newHeader and !ui.newHeader.data('enabled')) {
    return false;
  }
  // fall through activation happens as normal
});

There is no bundled way to do this in 1.8.x.

In version 1.9 (beta release is available as of this writing) the beforeActivate event looks like you can handle and return false to prevent the activation from happening. Assuming you have set .data('enabled', false) on the header of the disabled section you could do something like the following in 1.9:

$('.ui-accordion').bind('accordionchangestart', function(event, ui) {
  if(ui.newHeader and !ui.newHeader.data('enabled')) {
    return false;
  }
  // fall through activation happens as normal
});
梦中楼上月下 2024-11-13 11:48:02

我正在粘贴 JSFriddle 和受控导航手风琴的示例。这意味着,用户无法跳过步骤或自由导航手风琴,而只能通过可由 jQuery 激活或放置的硬编码按钮。希望有帮助。
https://jsfiddle.net/moriz/rvuwze6s/

基本上js是这样的:

 $(function() {
     $("#accordion").accordion({
         disabled: true
     });
 });

 function operateAccordion(tabNumber) {
     $("#accordion").accordion("option", "active", tabNumber);
 }

按钮应该这样:

<a href="javascript:operateAccordion(1)">Next step</a>

考虑到手风琴部件是从 0 开始编号的。因此,此按钮可用于在导航中后退或前进。

I'm pasting a JSFriddle with an example of a controlled navigation accordion. Meaning, user can't skip steps or navigate the accordion freely, but only by hard coded buttons that can be activated or placed by jQuery. Hope it helps.
https://jsfiddle.net/moriz/rvuwze6s/

Basically the js goes like this:

 $(function() {
     $("#accordion").accordion({
         disabled: true
     });
 });

 function operateAccordion(tabNumber) {
     $("#accordion").accordion("option", "active", tabNumber);
 }

And the buttons should go like this:

<a href="javascript:operateAccordion(1)">Next step</a>

Take into account accordion parts are numbered from 0 onwards. So this button can be used to go back or foward in the navigation.

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