【问题标题】:JQuery UI Tab selecetion not working properlyJQuery UI 选项卡选择无法正常工作
【发布时间】:2015-03-31 10:18:42
【问题描述】:

我正在尝试在我的页面上实现 JQuery 选项卡。但是,问题是,当我单击选项卡时,选项卡的 UI 不会改变。选中的选项卡始终保持选中状态,未选中的选项卡始终处于未选中状态。我无法弄清楚实际单击了哪个选项卡。因为,我使用“绑定”来绑定选项卡上的单击事件,所以实现按预期工作。因为我对 JQuery UI 的东西完全陌生,所以我不是能够弄清楚我哪里出错了。

这里是tabs的jsp代码(网上说的写的)。

<div id="tabs" style="margin-top: 100px; width: 100%;margin-left:20%;">
    <ul>
        <li id="allocated"><a href="#tabs-1">Allocated</a></li>
        <li id="pending"><a href="#tabs-2">Pending</a></li>
    </ul>
</div>

在javascript文件中:

$('#tabs',container).tabs();

我为两个选项卡编写了不同的绑定事件,如下所示:

$("#allocated", container).unbind("click").click(function() {
});

$("#pending", container).unbind("click").click(function() {
});

我需要手动更改选项卡的状态还是应该自行更改。

【问题讨论】:

标签: javascript jquery jquery-ui jquery-ui-tabs


【解决方案1】:

您的选项卡没有可显示的内容,这就是它无法正常工作的原因:

<div id="tabs" style="margin-top: 100px; width: 100%;margin-left:20%;">
    <ul>
        <li id="allocated"><a href="#tabs-1">Allocated</a>
        </li>
        <li id="pending"><a href="#tabs-2">Pending</a>
        </li>
    </ul>
    <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
    </div>
    <div id="tabs-2">
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p>
    </div>
</div>

并且无需在您的选择器中指定container

$('#tabs').tabs();

» Live Demo

【讨论】:

    【解决方案2】:

    为什么要解除点击事件的绑定?这将停止$('#tabs').tabs(); 添加的点击事件。 如果你想对点击做自定义动作,你只需要定义点击:

    $("#allocated", container).click(function() {
        alert(1);
    });
    
    $("#pending", container).click(function() {
        alert(2)
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 2021-12-18
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      相关资源
      最近更新 更多