好吧,對於大多數人來說,這必須非常簡單,但我不知道如何完成此操作。帶複選框的隱藏/顯示選項卡(及其相應的內容)
我有一組選項卡,並在選項卡頂部是一組複選框;每個複選框'對應'一個選項卡。
我需要的是能夠激活/取消激活每個複選框,並使其相應的選項卡(和選項卡的內容)隱藏/顯示。
這裏是我的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