【问题标题】:auto-generate jquery tabs自动生成 jquery 选项卡
【发布时间】:2011-05-19 14:26:41
【问题描述】:

在尝试了几个选项(jQuery UI 选项卡和 jQuery 工具选项卡)但没有从任何一个选项中获得正确的结果之后......我又来了。

我想做什么:

在页面加载时动态生成整个标签结构。用于构建选项卡的数据位于 mySql 数据库中,通过 getJSON() 检索。

我倾向于返回我的所有数据,并且它似乎被放置在正确的 DOM 位置(即在我的“选项卡”DIV 中),但是当我调用 ("#tabs").tabs();功能,标签显示不正确。

我可以提供代码,但想看看其他建议。有人遇到动态生成整个选项卡结构的问题吗?有人让它正常工作吗?

非常感谢任何想法。


好的,这是我用来创建标签的代码,我之前已经发布过,但正如我在原文中所说,我想看看是否有其他人对整个标签结构进行了动态创建.. .

使用它,我将所有“标签”垂直堆叠,所有“窗格”在其下方,再次垂直堆叠。

var stateData;

$.getJSON("getStateData.php", function(data) {
    stateData = data;
    var $theLastGroup = "zzzzz";
    var $ulItems = "<ul class='groupTabs'>\n";
    var $divItems = "";

    $.each(stateData, function(i,jsonData) {

        if( $theLastGroup != jsonData.groupName )
        {
            $ulItems = $ulItems+"<li><a href='#"+jsonData.groupName+"'>"+jsonData.groupID+"</a></li>\n";

            if( i > 0 ) 
            {
                $divItems = $divItems+"</div>\n";           
            }
            $divItems = $divItems+"<div id='"+jsonData.groupName+"'>\n";

            $theLastGroup = jsonData.groupName;
        }

        $divItems = $divItems+"<span sname='"+jsonData.stateName+
            "' lat='"+jsonData.centerLat+
            "' lon='"+jsonData.centerLon+
            "' zom='"+jsonData.zoom+"' >"+jsonData.stateName+"</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n";

    });
    $ulItems = $ulItems+"</ul>\n";
    $divItems = $divItems+"</div>\n";


    $("#tabs").append($ulItems);
    $("#tabs").append($divItems);

    $("#tabs").tabs();
});

05-20-2011 - 有人对此有更多想法吗?我错过了最后的&lt;/div&gt;,但这并没有什么不同......(我添加了上面的代码)。

【问题讨论】:

  • 应该显示您的代码以及未正确显示的内容。
  • 不看你的代码就很难判断。在完成所有选项卡后,您是否正在等待调用 jquery。如果您使用 ajax 获取数据,则必须在添加选项卡后成功调用 ajax 调用。如果您在创建选项卡的函数之后在 pageLoad 中调用 jquery,则在运行 jquery 之前,用于获取数据的 ajax 可能不会返回。
  • 您的 CSS 设置是否正确? CSS 类负责处理页面上元素的显示位置。 jquery 只是添加类供它使用。
  • 我在 HTML Head 中有这个:code
  • 所有类名是否正确链接?您在代码中更改过的任何类名是否也在 CSS 文件中更改过?你也肯定CSS实际上正在加载吗?我并不怀疑你做得对。

标签: jquery database tabs


【解决方案1】:

如果我没记错的话,你的问题是你的代码生成的标签的对齐方式。

如果那是真正的问题。尝试为您在代码中使用的类编写一个简单的无序列表 css 标签。

像这样..

ul.groupTabs li{float:left; padding 10px; display:block;}

希望对您有所帮助...

~焦

【讨论】:

    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    相关资源
    最近更新 更多