我使用以下代码作为标签插件
//When page loads...
$("#searchbox .tab_content").hide(); //Hide all content
$("#searchbox ul.tabs li:first").addClass("active").show(); //Activate first tab
$("#searchbox .tab_content:first").show(); //Show first tab content
//alert($("ul.tabs li:last").find("a").attr("href"));
//On Click Event
$("#searchbox ul.tabs li").click(function() {
$("#searchbox ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$("#searchbox .tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});
我的html页面包含4个列表项作为菜单。当页面刷新时,它总是加载第一个元素内容,如代码中所示。每个li链接到具有各自形式的div。如果我在操作表单中调用相同的页面,我如何加载相应的内容。意味着如果我提交了搜索租赁表单,那么当页面刷新时,它应该显示搜索租用容器而不是li:first
答案 0 :(得分:1)
您可以在搜索表单中添加一个隐藏字段,其中包含有关当前打开选项卡的信息,并在发布后使用该信息在li项目上设置正确的类。
像这样更改表单:
<form method="post">
<input type="hidden" name="activetab" value="" />
...
</form>
然后像这样,你可以使用li元素的id来知道哪个标签是活动的:
$("#searchbox ul.tabs li").click(function() {
$("input[name=activetab]").val($(this).attr("id"));
});
发布表单后,如果您使用PHP,可以这样:
foreach($tab_id_array as $tab_id) { ?>
<li class="<?= ($_POST["activetab"]==$tab_id) ? "active" : "" ?>"><?= $tabcontent ?></li>
<? } ?>