0

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

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

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

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

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

4

1 回答 1

2

如果您想延迟加载选项卡的内容直到它被单击,那么您无法知道(在单击之前)该选项卡是否应该显示(有内容)或不显示(没有)。

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

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

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

于 2012-04-25T19:26:20.460 回答