Autor Zpráva
libris
Profil
Ahoj, našel jsem stránku o tabs (http://broadcast.oreilly.com/2008/10/how-to-create-tabs-with-css-an.html), které bych rád použil ve své administraci s více jazykovými mutacemi. Potřeboval bych tento kód trochu poupratit tak aby výchozí byla čeština (třeba #tab1), ale když překliknu na angličtinu, tak aby se mi všechna textová pole ve fomuláři na stránce přepla a zároveň zůstalo přepnutí i po odeslání dat do databáze dle url (třeba #tab2). Nikde jsem nenašel vícetabulkové řešní. Byl bych všem vděčný, kdyby mi s tím pomohli....

Html soubor:
=========
    <!-- This is the box that all of the tabs and contents of 
         the tabs will reside -->
    <div id="tabs_container">
      
      <!-- These are the tabs -->
      <ul class="tabs">
        <li class="active">
          <a href="#" rel="#tab_1_contents" class="tab">Tab 1</a>
        </li>
        <li><a href="#" rel="#tab_2_contents" class="tab">Tab 2</a></li>
        <li><a href="#" rel="#tab_3_contents" class="tab">Tab 3</a></li>
      </ul>
      
      <!-- This is used so the contents don't appear to the 
           right of the tabs -->
      <div class="clear"></div>
      
      <!-- This is a div that hold all the tabbed contents -->
      <div class="tab_contents_container">
    
        <!-- Tab 1 Contents -->
        <div id="tab_1_contents" class="tab_contents tab_contents_active">
          I'm Good Enough!
        </div>
    
        <!-- Tab 2 Contents -->
        <div id="tab_2_contents" class="tab_contents">
          I'm Smart Enough!
        </div>
    
        <!-- Tab 3 Contents -->
        <div id="tab_3_contents" class="tab_contents">
          And Doggone It, People Like Me!
        </div>
    
      </div>
    </div>

js soubor:
=======
// Load this script when page loads
$(document).ready(function(){

 // Set up a listener so that when anything with a class of 'tab' 
 // is clicked, this function is run.
 $('.tab').click(function () {

  // Remove the 'active' class from the active tab.
  $('#tabs_container > .tabs > li.active')
	  .removeClass('active');
	  
  // Add the 'active' class to the clicked tab.
  $(this).parent().addClass('active');

  // Remove the 'tab_contents_active' class from the visible tab contents.
  $('#tabs_container > .tab_contents_container > div.tab_contents_active')
	  .removeClass('tab_contents_active');

  // Add the 'tab_contents_active' class to the associated tab contents.
  $(this.rel).addClass('tab_contents_active');

 });
});
Chamurappi
Profil
Reaguji na librise:
Byl bych všem vděčný, kdyby mi s tím pomohli
Všichni zatím mlčí, tak to zkusím já.

aby se mi všechna textová pole ve fomuláři na stránce přepla
Pokud chceš při kliknutí na tab změnit zobrazení větší části stránky, nastav třídu společnému rodiči a zbytek práce nech na stylech.

zároveň zůstalo přepnutí i po odeslání dat do databáze dle url (třeba #tab2)
Po odeslání můžeš vygenerovat novou stránku tak, aby class="active" měl jiný tab.
Jinak to, co je za mřížkou, lze v JS vyčíst z vlastnosti location.hash.
pcmanik
Profil
Skus toto a nemusis nic riesit

http://jqueryui.com/demos/tabs/
libris
Profil
Chamurappi:

Díky za reakci..., zkouším to, ale nějak se mi to nedaří upravit, aby se některé prvky schovávaly při přepnutí záložky a některé zůstali zobrazené. V JQuery nejsem moc zběhlý, mohl bych tě požádat o konkrétní úpravu, pokud to není moc složité?


pcmanik:
Jj, tady tu stránku znám, ale není to přesně co potřebuju. Potřebuji aby to zobrazovalo jen některé prvky ve stránce a po přepnutí záložky zase ty co byly skryté.
Přitom ale ostatní položky budou pořád zobrazeny.
Chamurappi
Profil
Reaguji na pcmanika:
Kvůli takové prkotině nechat načítat (a zpracovávat) další stovky kB?


Reaguji na librise:
$("#spolecny-rodic").attr("class", this.attr("rel").substr(1));
Tím nastavíš elementu s id="spolecny-rodic" třídu tab_N_contents. Zbytek udělá CSS. Skryješ:
.co-se-ma-prepinat { display: inline };
.tab_N_contents .co-se-ma-prepinat { display: inline };
libris
Profil
Chamurappi:

Diky za snahu, zkouším co si mi napsal, ale nějak se mi to nedaří rozběhnout. Mohl bych tě poprosit, jestli by si to nějak mohl zapasovat do toho zdrojáku co jsem tady vložil? Díky moc za pomoc.
libris
Profil
Chamurappi:
Mám teď dvá weby, kde bych to potřeboval použít. Nechtěl by si mi to vytvořit třeba na zakázku?
Potřeboval bych to mít nachystané do příštího týdne. Když tak mi pisní na libris@email.cz a mohli bychom se domluvit konkrétně.
Díky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0