简体   繁体   中英

Loading a tab on button click

I am not that much familiar with button html or jquery so please forgive if this is a repeated question or if I asked it wrong. What i want to do is is to load a tab on an external button click. The code for the tabs are as follows,

<div id="wrapper">
    <div id="content">
        <div class="c1">
            <div class="controls">

            </div>
            <div class="tabs">
                <div id="tab-1" class="tab">
                    <article>
                        <div class="text-section">
                            <h1>Dashboard</h1>
                            <p>TVAS data visualizer</p>
                        </div>
                        <div style="margin-top: 10px;margin-left: 10px;width: 21%;height: 20px; float: left">
                                <input type="button" id="btn" name="btn" value="Button" />
                                <div style="margin-left: 15px; float: left">
                                Filter :
                                </div>                                

                                     <div id='jqxdropdown' style="margin-left: 5px; float: left">                                    
                                </div>

                        </div>
                        <div style="margin-top: 10px;width: 78%;height: 20px; float: right">

                                <div id='jqxcalendar' style="margin-left: 10px;float: left;"></div> 
                                <div style="margin-left: 10px;float: left;">                                        
                                    <input id="filterButton" type="button" value="Filter"/>
                                </div> 
                                <div style="margin-left: 10px; float: left">
                                <font size="1" color="red">
                                    *Filter by ISP only applies to the bar/pie chart
                                </font>
                                </div>

                        </div>

                        <div id="barChartdiv" style="margin-top: 10px;width:60%; height: 400px;float: left;"></div>
                        <div id="pieChartDiv" style="margin-top: 10px;width:40%; height: 400px;float: right;"></div>
                        <div id="linechartdiv" style="width: 100%; height: 500px;float: left;"></div>


                    </article>
                </div>
                <div id="tab-2" class="tab">
                    <article>
                        <div class="text-section">
                            <h1>Map view</h1>
                            <p>TVAS birds eye view</p>
                        </div>

                        <div id="google_map_canvas" style="margin-top: 10px;width:1450px; height: 650px;float: left;">

                        </div>

                        <div id="over_map">
                            <input id="outgoingButton" type="button" value="Outgoing"/>
                            <input id="incomingButton" type="button" value="Incomng"/>
                        </div>


                    </article>
                </div>
                <div id="tab-3" class="tab">   
                    <article>
                        <div class="text-section">
                            <h1>Dashboard</h1>
                            <p>TVAS trend visualizer</p>
                        </div>



                    </article>
                </div>                  
            </div>
        </div>
    </div>
    <aside id="sidebar">
        <strong class="logo"><a href="#">lg</a></strong>
        <ul class="tabset buttons">
            <li class="active">
                <a href="#tab-1" class="ico1"><span>Dashboard</span><em></em></a>
                <span class="tooltip"><span>Dashboard</span></span>
            </li>
            <li>
                <a href="#tab-2" class="ico2"><span>Map visualization</span><em></em></a>
                <span class="tooltip"><span>Map visualization</span></span>
            </li>
            <li>          
                <a href="#tab-3" class="ico3"><span>Trending</span><em></em></a>
                <span class="tooltip"><span>Trending</span></span>
            </li>               
        </ul>
        <span class="shadow"></span>
    </aside>
</div>

what this code currently does is when the user clicks on the necessary sidebar element it loads its corresponding div to the left of the page. what I need to do the same by clicking on a button jquery or javascript which is situated in the header area of the page.

for example something like this,

<script type="text/javascript">
    $(document).ready(function () {
        $("input[name='btn']").click(function() {
            //code to display the contents of a tab
        });
    });
</script>

any help would be much helpful :) I don't know how to make this question even more clearer. hope its understandable Thank you :)

I think this will work, I'm sure there is a more concise way though.

 $("#tab-1").click(function() { $(".tab").hide(); $("#tab-1").show(); }); $("#tab-2").click(function() { $(".tab").hide(); $("#tab-2").show(); }); $("#tab-3").click(function() { $(".tab").hide(); $("#tab-3").show(); }); 

Update: This actually works (be sure to change the class and id selectors to your naming convention), as tested here .

$().ready(function() {
    $(".show-tab").click(function() {
        $(".tab").hide();
        var tabid = $(this).attr("id").substring(5);
        $("#"+tabid).show();
    });
    $("#show-tab-1").click();
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM