没有内容时隐藏选项卡,单击选项卡后加载内容


hide tab when no content & load content after onclick tab

我构建了一个jquery选项卡,如果其内容为空,它会显示或隐藏选项卡按钮。

现在,由于页面加载,我只想在有人单击选项卡按钮时加载内容。

这是检查是否有内容的代码,如果为空则隐藏选项卡:

$j(function() {
    if ($j.trim( $j("#CONTENTDIV").html()) == "") {
        $j("li#TABBUTTON").hide();
    }
});

如何使它在单击时加载内容,但如果它没有内容,则隐藏选项卡按钮?

如果要延迟加载选项卡的内容,直到单击它,则无法知道(在单击之前)是否应显示选项卡(包含内容)或不显示选项卡(无内容)。

从哲学上讲,您可以创建一个轻量级的 AJAX 函数,该函数请求一个(本质上)空页面,该页面仅询问数据库字段中是否有任何值,如果有任何内容(而不是整个页面),则只需返回 true。然后,单击时,您可以检索内容。

编辑:当然,这假设您可以在不检索整个页面的情况下检测到some value

即使对资源的请求必须检索全部资源,我相信服务器应该能够比向用户交付内容更快地访问资源 - 特别是如果资源驻留在执行检查的同一服务器上。无论如何,由于它是在 AJAX 中完成的,因此您可以隐藏选项卡并将它们显示为 ( $("#myTabID").show() )作为轻量级的 AJAX 函数发现可用内容。