There actually might be a simpler way to accomplish this, but my first
instinct is the each() method. You may want to note that I am very new
to jQuery, so there's a good chance that instinct is way incorrect.

Anyway, I'm building a small web application for a financial
institution. It consists of two columns. In the left column is the
navigation. The right is the body, set up in jQuery's Tabs.

I have a list of reports on the left that users can access. When a
user clicks on the report, I want it the appropriate tab to show in
the right column. Make sense?

Here's the html of the "accounting" section in the left column:

<ul id="acc">
  <li id="acccomp" class="alt"><a href="#">Completion Report</a></li>
  <li id="accstate"><a href="#">Statements</a></li>
  <li id="accfundsum" class="alt"><a href="#">Fund Summary</a></li>
  <li id="accmonthsum"><a href="#">Month End Summary</a></li>
  <li id="accdocs" class="alt"><a href="#">Docs Pending</a></li>
</ul>

The tabs I have set up:

<ul id="reporttabs">
  <li id="compreporttab"><a href="#compreportform"><span>Tab1</span></
a></li>
  <li id="statementstab"><a href="#statementsform"><span>Tab2</span></
a></li>
  <li id="fundsumtab"><a href="#fundsumform"><span>Tab3</span></a></
li>
  <li id="monthsumtab"><a href="#monthsumform"><span>Tab4</span></a></
li>
  <li id="docstab"><a href="#docsform"><span>Tab5</span></a></li>
</ul>

And the jQuery that I have in place at the moment that works perfectly
fine. This will cause the "Statements" tab to be visible when the
"Statements" link is clicked in the left column.

$("#accstate").click(function(){
  $("#statementsform").removeClass("ui-tabs-panel ui-tabs-
hide").addClass("ui-tabs-panel");
  $("#compreportform").addClass("ui-tabs-panel ui-tabs-hide");
  $("#fundsumform").addClass("ui-tabs-panel ui-tabs-hide");
  $("#monthsumform").addClass("ui-tabs-panel ui-tabs-hide");
  $("#docsform").addClass("ui-tabs-panel ui-tabs-hide");
});

As you can see, all I am doing is adding/removing the appropriate show/
hide classes in order to show the appropriate tab, but obviously my
code is going to become extremely cumbersome. Now, I was thinking I
could just loop through each tab and hide everything except the one I
want, but I'm just running into a roadblock in getting that to work. I
thought I could just add something like this inside my click function:

$("#reporttabs li.a").each(function(){
  $(this).addClass("ui-tabs-panel ui-tabs-hide")
})

But it doesn't seem to work. Am I on the right path with using Each()?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery UI" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-ui?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to