我有一个带有几个复选框的表单,当选中这些复选框时,将取消隐藏下面带有部分的相应选项卡。不幸的是,当我检查第二个或第三个框时,会出现正确的选项卡,但是属于第一个选项卡的部分我们将用它取消隐藏。我在JSFiddle中有一个例子:http://jsfiddle.net/j08691/HyMBD/2/。如果选中“外联网访问”框,则会显示“使用协议”(US 531)部分。以下是我用来取消隐藏标签和部分的代码:
//hide/show UA Section
$("#use-agreement-required").click(function() {
if ($("#use-agreement-required").is(":checked"))
{
$(".UASection").show("fast");
} else {
//otherwise hide it
$(".UASection").hide("fast");
}
});
//hide/show Extranet Section
$("#extranet-access").click(function() {
if ($("#extranet-access").is(":checked"))
{
//show hidden class
$(".extranetSection").show("fast");
} else {
//otherwise hide it
$(".extranetSection").hide("fast");
}
});
//hide/show Move It Section
$("#move-it-access").click(function() {
if ($("#move-it-access").is(":checked"))
{
//show hidden class
$(".moveItSection").show("fast");
} else {
//otherwise hide it
$(".moveItSection").hide("fast");
}
});
//Refresh tabs
$("#use-agreement-required,#extranet-access,#move-it-access").click(function () {
$("#contractTypes").tabs("refresh");
});
答案 0 :(得分:4)
您确定标签是您想要在那里做的吗?从UI的角度来看,我认为你正走在一条凌乱的道路上。
话虽如此,显示标签是不够的,您需要告诉标签控件您正在激活新标签:
$(“#contractTypes”)。tabs({active:1});
请记住,索引是基于0的。
答案 1 :(得分:0)
这会弄乱你的代码..删除,一切都很好
//Refresh tabs
$("#use-agreement-required,#extranet-access,#move-it-access").click(function () {
$("#contractTypes").tabs("refresh");
});