JQuery UI选项卡选择无法正常工作

时间:2015-03-31 10:18:42

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

我正在尝试在我的页面上实现JQuery选项卡。但问题是,当我单击选项卡时,选项卡的UI不会更改。所选选项卡始终保持选中状态,并且始终取消选中未选中的选项卡。我无法确定实际点击了哪个选项卡。因为我使用“bind”来绑定选项卡上的click事件,实现正如预期的那样工作。因为我对JQuery UI的东西很新,我不是能弄清楚我哪里出错了。

这是选项卡的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() {
});

我是否需要手动更改选项卡的状态,或者它应该自行更改。

2 个答案:

答案 0 :(得分:0)

您的标签没有可显示的内容,这就是为什么它无法正常工作:

<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

答案 1 :(得分:0)

为什么要取消绑定点击事件?这将停止$('#tabs').tabs();添加的点击事件。 如果要对单击执行自定义操作,只需定义单击:

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

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