jQuery UI选项卡中的错误:不匹配的片段标识符。

时间:2013-03-01 11:09:53

标签: javascript jquery jquery-ui tabs

这是我的代码:

<div id="tablesTabs">
        <ul>
            <li><a id="changed" href="#changedTable"><% "Changed" %></a></li>
            <li><a id="unchanged" href="#changedTable"><% "Unchanged"%></a></li>
        </ul>
    </div>

<div id="tablesDiv">
        <div id="changedTable" style="width:100%; height:430px;"></div>
    </div>

在javasscript中:

$(function () {
        $("#tablesTabs").tabs({
            cache: true
        }).scrollabletab();
        loadTables();
    });

if ($('#tablesTabs').tabs("option", "selected") == 0) {
    //fill table with data
}

if ($('#tablesTabs').tabs("option", "selected") == 1) {
    //fill table with other data
}

第一个标签似乎很好,网格没问题。但是,当我点击第二个选项卡时,我得到错误未捕获的jQuery UI选项卡:不匹配的片段标识符。有什么问题以及如何解决?

3 个答案:

答案 0 :(得分:10)

首先, 我会看到问题是你的两个标签在他们的href属性中有相同的链接。两者都有#changedTable,尝试为每个标签添加唯一的href。

其次, 您的标签设置对我来说不熟悉。也许它很好,但我总是在tab div中有内容div。

如:

<div id="tabs">
  <ul>
    <li><a href="#tab-1">Something</a></li>
    <li><a href="#tab-2">Something else</a></li>
  </ul>

  <div id="tab-1">
    <p>Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla.</p>
  </div>
  <div id="tab-2">
    <p>Curabitur ornare consequat nunc. Aenean vel metus.</p>
  </div>
</div>

答案 1 :(得分:5)

标签的href应该有#符号,标签内容的id不能包含#。

答案 2 :(得分:0)

根据官方的JQuery示例https://jqueryui.com/tabs/

,我的案例是标签外部的标签内容
<!-- error  -->

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
  </ul>
</div>

  <div id="tabs-1">
    <p>abc.</p>
  </div>
  <div id="tabs-2">
    <p>def.</p>
  </div>
  <div id="tabs-3">
    <p>ghi.</p>
  </div>

<!-- correct -->
<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
  </ul>
  <div id="tabs-1">
    <p>abc.</p>
  </div>
  <div id="tabs-2">
    <p>def.</p>
  </div>
  <div id="tabs-3">
    <p>ghi.</p>
  </div>
</div>