我有4个标签,每个标签包含不同的数据。当我单击复选框时,会显示相应的选项卡。但是当我取消选中时,选项卡是不可见的,但内容不可见。如何解决这个问题呢? 我的页面是
<style>
.ui-state-disabled {
display: none;
}
</style>
<script>
$(function() {
$("#tabs").tabs();
$("#tabs").tabs("option", {
"selected": 2,
"disabled": [1,2,3]
});
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
}
else{
$('#tabs').tabs("disable", $(this).val());
}
});
});
</script>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nithin</a> </li>
<li><a href="#tabs-2">Vipin</a></li>
<li><a href="#tabs-3">Sachin</a></li>
<li><a href="#tabs-4">Ganguly</a></li>
</ul>
<div id="tabs-1">
<p>Nithin</p>
</div>
<div id="tabs-2">
<p>Vipin</p>
</div>
<div id="tabs-3">
<p>Sachin</p>
</div>
<div id="tabs-4">
<p>Ganguly</p>
</div>
</div>
<input type="checkbox" name="tabs-1" value="1">tabs-1
<input type="checkbox" name="tabs-2" value="2">tabs-2
<input type="checkbox" name="tabs-3" value="3">tabs-3
<input type="checkbox" name="tabs-4" value="4">tabs-4
<br>
</body>
</html>
上查看工作代码
答案 0 :(得分:3)
只需查看else
部分... Working Demo
$(function() {
$("#tabs").tabs();
$("#tabs").tabs("option", {
"selected": 2,
"disabled": [1,2,3]
});
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
}
else{
// $('#tabs').tabs("disable", $(this).val());
$('#tabs').tabs("disable", $(this).val());
$('#tabs').tabs("select", $(this).prev().val());
$('#tabs').tabs("enable", $(this).prev().val());
}
});
});
答案 1 :(得分:2)
试试这个
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
}
else{
$('#tabs').tabs("disable", $(this).val());
$("#tabs-"+$(this).val()).children().hide());
}
});
你只是禁用tab.Hide内容也是
答案 2 :(得分:2)
可能会有所帮助:
$("input[type=checkbox]").click(function () {
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val());
$('[id="' + this.name + '"]').find('p').show();
} else {
$('#tabs').tabs("disable", $(this).val());
$('[id="' + this.name + '"]').find('p').hide();
}
});
无需添加content
类。
答案 3 :(得分:2)
将var hhh = $("input:checked").val();
$('#tabs').tabs("enable", hhh);
$('#tabs').tabs("select", hhh );
$("#tabs-"+hhh+" p").show();
添加到您的其他地方。
$(function() {
$("#tabs").tabs();
$("#tabs").tabs("option", {
"selected": 2,
"disabled": [1,2,3]
});
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
$("#tabs-"+$(this).val()+" p").show();
}
else{
$('#tabs').tabs("disable", $(this).val());
$("#tabs-"+$(this).val()+" p").hide();
var hhh = $("input:checked").val();
$('#tabs').tabs("enable", hhh);
$('#tabs').tabs("select", hhh );
$("#tabs-"+hhh+" p").show();
}
});
});
答案 4 :(得分:2)
$(function() {
$("#tabs").tabs();
$("#tabs").tabs("option", {
"selected": 2,
"disabled": [1,2,3]
});
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
}
else{
$('#tabs').tabs("disable", $(this).val());
$('#'+$(this).attr('name')).hide();
}
});
});
答案 5 :(得分:2)
您可以在JSFiddle
上查看$(function() {
$("#tabs").tabs();
$("#tabs").tabs("option", {
"selected": 0,
"disabled": [1,2,3]
});
$( "input[type=checkbox]" ).click(function(){
if ($(this).is(':checked')) {
$('#tabs').tabs("enable", $(this).val());
$('#tabs').tabs("select", $(this).val() );
}
else{
$('#tabs').tabs("disable", $(this).val());
var tab = $(this);
$('#tabs').tabs("select", $(":checked").first().val());
//$('#tabs').tabs("select", $(":checked").last().val());
//It is based on you what to use. (first or last selected value)
}
});
});
我希望这会有所帮助。 此致
答案 6 :(得分:1)
在其他部分中将类ui-state-disabled
添加到元素中,然后它将display: none;