user2864589
user2864589

Reputation: 11

jQuery tabs are not clicking when clicked on

I have jQuery tabs using ui 1.10.0. My first tab is activated by default; however, I can not get the other 5 tabs to work. When I click on them, they do nothing and the content that coordinates with tabs doesn't show.

Here's the basic HTML code:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tabs</title>
<script src="js/jquery-ui-1.10.0.custom.min.js" script type="text/javascript"></script>
<script src="js/jquery-1.9.0.min.js" script type="text/javascript"></script>
<link rel="stylesheet" href="css/jquery-ui-1.10.0.custom.min.css" type="text/css"/>
<link rel="stylesheet" href="css/style.css" type="text/css"/>
</head>
<body>
<div id="simpaleTabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all" >
    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li class="ui-state-default ui-corner-top ui-tabs-active ui-state-active">
            <a href="#production" class="ui-tabs-anchor">Production</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#invoices" class="ui-tabs-anchor">Invoices</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#warranty" class="ui-tabs-anchor">Warranty</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#services" class="ui-tabs-anchor">Services</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#parts" class="ui-tabs-anchor">Parts List</a>
          </li>
        <li class="ui-state-default ui-corner-top"><a href="#memorandums" class="ui-tabs-anchor">Memorandums</a>
        </li>
    </ul>
    <div id="facebook" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Proudction here 
    </div>
    <div id="twitter" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Invoices here
    </div>
    <div id="linkedin" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Warranty here
    </div>
    <div id="google" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Services here
    </div>
    <div id="wikipedia" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Parts List here
    </div>
    <div id="picasa" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Memorandums here
    </div>
</div>

Here's the Javascript:

<script>
$(document).ready(function(){
    $('#simpaleTabs div').hide();
    $('#simpaleTabs div:first').show();
    $('#simpaleTabs ul li:first').addclass('active');

    $('#simpaleTabs ul li a').click(function(){
        $('#simpaleTabs ul li').removeClass('active');
        $(this).parent().addClass('active');
        var currentTab = $(this).attr('href');
        $('#simpaleTabs div').hide();
        $(currentTab).show();
        return false;
    });
    });
</script>

Upvotes: 0

Views: 719

Answers (2)

Nikhil N
Nikhil N

Reputation: 4577

There was one typo mistake in addclass at following line. You have specified addclass instead of addClass.

$('#simpaleTabs ul li:first').addclass('active');

Also following is updated js.

$(document).ready(function () {
    $('#simpaleTabs div').hide();
    $('#simpaleTabs div:first').show();
    $('#simpaleTabs ul li:first').addClass('active');

    $('#simpaleTabs ul li a').click(function () {
        $("li").each(function () {
            $(this).removeClass('ui-tabs-active');
            $(this).removeClass('ui-state-active');
        });
        $(this).parent().addClass('ui-tabs-active');
        $(this).parent().addClass('ui-state-active');
        var currentTab = $(this).attr('href');
        $('#simpaleTabs div').hide();
        $(currentTab).show();
        return false;
    });
});

Here's Demo Fiddle

Here's corrected HTML if your are interested...

<div id="simpaleTabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"> <a href="#production" class="ui-tabs-anchor">Production</a>

        </li>
        <li class="ui-state-default ui-corner-top"> <a href="#invoices" class="ui-tabs-anchor">Invoices</a>

        </li>
        <li class="ui-state-default ui-corner-top"> <a href="#warranty" class="ui-tabs-anchor">Warranty</a>

        </li>
        <li class="ui-state-default ui-corner-top"> <a href="#services" class="ui-tabs-anchor">Services</a>

        </li>
        <li class="ui-state-default ui-corner-top"> <a href="#parts" class="ui-tabs-anchor">Parts List</a>

        </li>
        <li class="ui-state-default ui-corner-top"><a href="#memorandums" class="ui-tabs-anchor">Memorandums</a>

        </li>
    </ul>
    <div id="production" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Proudction here</div>
    <div id="invoices" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Invoices here</div>
    <div id="warranty" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Warranty here</div>
    <div id="services" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Services here</div>
    <div id="parts" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Parts List here</div>
    <div id="memorandums" class="ui-tabs-panel ui-widget-content ui-corner-bottom">content about Memorandums here</div>
</div>

Upvotes: 1

Hugo Tostes
Hugo Tostes

Reputation: 412

Have some errors in HTML and JS.

Try this

HTML: you have to put the correct 'id' of div in href attribute of anchor

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tabs</title>
<script src="js/jquery-ui-1.10.0.custom.min.js" script type="text/javascript"></script>
<script src="js/jquery-1.9.0.min.js" script type="text/javascript"></script>
<link rel="stylesheet" href="css/jquery-ui-1.10.0.custom.min.css" type="text/css"/>
<link rel="stylesheet" href="css/style.css" type="text/css"/>
</head>
<body>
<div id="simpaleTabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all" >
    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li class="ui-state-default ui-corner-top ui-tabs-active ui-state-active">
            <a href="#production" class="ui-tabs-anchor">Production</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#invoices" class="ui-tabs-anchor">Invoices</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#warranty" class="ui-tabs-anchor">Warranty</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#services" class="ui-tabs-anchor">Services</a>
         </li>
        <li class="ui-state-default ui-corner-top">
            <a href="#parts" class="ui-tabs-anchor">Parts List</a>
          </li>
        <li class="ui-state-default ui-corner-top"><a href="#memorandums" class="ui-tabs-anchor">Memorandums</a>
        </li>
    </ul>
    <div id="production"" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Proudction here 
    </div>
    <div id="invoices" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Invoices here
    </div>
    <div id="warranty" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Warranty here
    </div>
    <div id="services" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Services here
    </div>
    <div id="parts" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Parts List here
    </div>
    <div id="memorandums" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
                content about Memorandums here
    </div>
</div>

JS: have some syntax errors and you have to remove more classes and add more classes also.

<script type="text/javascript">

$(document).ready(function(){
    $('#simpaleTabs div').hide();
    $('#simpaleTabs div:first').show();
    $('#simpaleTabs ul li:first').addClass('active');

    $('#simpaleTabs ul li a').click(function(){
        $('#simpaleTabs ul li').removeClass('ui-state-active').removeClass('ui-tabs-active').removeClass('active');
        $(this).parent("li").addClass('ui-state-active').addClass('ui-tabs-active').addClass('active');
        var currentTab = $(this).attr('href');
        $('#simpaleTabs div').hide();
        $(currentTab).show();
        return false;
    });
});
</script>

Upvotes: 0

Related Questions