好吧,对于大多数人来说,这必须非常简单,但我不知道如何完成此操作。带复选框的隐藏/显示选项卡(及其相应的内容)
我有一组选项卡,并在选项卡顶部是一组复选框;每个复选框'对应'一个选项卡。
我需要的是能够激活/取消激活每个复选框,并使其相应的选项卡(和选项卡的内容)隐藏/显示。
这里是我的HTML:
<div class="show-results-from">
<ul>
<li>See results from:</li>
<li>
<label>
<input name="a" type="checkbox" id="a" checked disabled>
Products & Services <span>(16)</span></label>
</li>
<li>
<label>
<input type="checkbox" name="b" id="b" checked>
Publications <span>(9)</span></label>
</li>
<li>
<label>
<input type="checkbox" name="c" id="c" checked>
Other <span>(150)</span></label>
</li>
</ul>
</div>
<ul class="tabs">
<li><span rel="tabs1" class="defaulttab">Products & Services</span></li>
<li><span rel="tabs2">Publications</span></li>
<li><span rel="tabs3">Other</span></li>
</ul>
<div class="tab-content" id="tabs1">content</div>
<div class="tab-content" id="tabs2">content</div>
<div class="tab-content" id="tabs3">content</div>
任何帮助,这是极大的赞赏。
编辑
我很抱歉,我要通知你,我不使用jQuery UI选项卡添加了脚本我的标签,:从本教程采取
$(function() {
$('.tabs span:first-child').click(function(){
switch_tabs($(this));
return false;
});
switch_tabs($('.defaulttab'));
});
function switch_tabs(obj)
{
$('.tab-content').hide();
$('.tabs span:first-child').removeClass("selected");
var id = obj.attr("rel");
$('#'+id).show();
obj.addClass("selected");
}
脚本:http://justfreetemplates.com/blog/2009/08/31/ultra-simple-jquery-tabs.html
更多信息:
我没有仔细想想用户案例/情况,所以这里有两个:
我不能没有标签,我需要至少有一个“默认”选项卡,所以我增加了“禁用”,以第一个复选框因此第一个选项卡不能被隐藏。 这个解决了。
会发生什么事是用户隐藏一个活动的选项卡?那么,我的解决方案,如果发生这种情况,将使默认选项卡,活跃。 任何想法如果已经选择的选项卡被隐藏,如何将'selected'类恢复到默认选项卡?
再次感谢。
肯,我用你的脚本和它的工作很大。我为每个复选框添加了一个“值”,它工作。但是,我忘记了用户决定隐藏“已选择”选项卡的用户案例,因此用户最终没有活动选项卡。因此,如果发生这种情况,我需要将“选定”类恢复到第一个选项卡。在上面的问题中阅读我的解释。任何想法如何去做?谢谢! – 2011-01-06 19:18:53
@Ricardo,我试着解决你的更新上面。这一切都没有经过测试,但想法是添加一个条件切换到您的默认选项卡 - 如果当前选择`.selected`选项卡具有``rel匹配点击复选框的**值`**和**点击复选框现在没有选中。这应该意味着“用户未选中与当前选定标签相对应的框”。 – 2011-01-06 19:44:09