如何隐藏选项卡的内容

时间:2013-03-05 05:38:03

标签: javascript jquery html css

我有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>

您可以在http://jsfiddle.net/2aQ2g/12/

上查看工作代码

7 个答案:

答案 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类。

just checkout the fiddle here

答案 3 :(得分:2)

var hhh = $("input:checked").val(); $('#tabs').tabs("enable", hhh); $('#tabs').tabs("select", hhh ); $("#tabs-"+hhh+" p").show();添加到您的其他地方。

Live 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() );
     $("#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;