如何在中继器/网格控件内实现 Jquery 选项卡?
我有一个中继器控件。在每个元素/记录内,我有一个带有 2 个选项卡的选项卡式界面。我正在使用 Jquery 实现选项卡功能。但是每次我单击页面上的任何选项卡时,只有第一个元素/记录的选项卡会切换。请让我知道如何实现这一目标。
<ul class="tabs">
<li><a href="#tab1">Gallery</a></li>
<li><a href="#tab2">Submit</a></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content">
<!--Content-->
</div>
<div id="tab2" class="tab_content">
<!--Content-->
</div>
</div>
$(document).ready(function() {
//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".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;
});
});
I have a repeater control. Inside each element/record, I have a tabbed interface with 2 tabs. I am implementing the tab-functionality with Jquery. But each time I click on any tab on the page, only the first element/record's tabs are switching. Please let me know how to achieve this.
<ul class="tabs">
<li><a href="#tab1">Gallery</a></li>
<li><a href="#tab2">Submit</a></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content">
<!--Content-->
</div>
<div id="tab2" class="tab_content">
<!--Content-->
</div>
</div>
$(document).ready(function() {
//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".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;
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您正在使用
ids
来标记转发器中的内容 div。所有中继器元素都将具有合理的 ID,因此您的逻辑不会。尝试一下还将锚点的 href 属性设置为
javascript:void(0)
,否则当您单击选项卡时页面将滚动。Since you are using
ids
to tab content divs in the repeater. All repeater elements will have the sane ids so your logic will not. Try thisAlso set the href property of anchor to
javascript:void(0)
otherwise the page will scroll when you click on the tab.