PDA

View Full Version : [JQuery] Problema Jquery Ui Tabs


_Leo_85
07-04-2011, 10:24
Ciao a tutti sono nuovo ma è da parecchio che seguo questo forum.
Ho un problema con Jquery Ui Tabs. Praticamente ho fatto un menu utilizzando questo tabs e tutto va bene il problema mi si pone quando il menu non ha sottomenu ma mi deve aprire direttamente una nuova pagina. Mi spiego meglio

il mio menu è questo:
| L'azienda | Prodotti |Foto Gallery

l'azienda ha il suo sottomenu
|L'azienda
- Storia
- Vigneti
- ecc

|Prodotti ha il suo sottomenu come per l'azienda e quando clicco sulle sue voci mi linca correttamente alle pagine che gli assegno ma FotoGallery che non ha un sottomenu ma mi deve linkare direttamente ad una nuova pagina tipo http://www.google.it non mi funziona. Jquery gli assegna automaticamente l'href=#ui-tabs-" La mia domanda è questa: é possibile far linkare direttamenta ad una nuova bagina la voce Fotogallery del menu? oppureè possibile forzarlo in qulche modo? Il codice usato per la generazione del menu è questo:

<div id="tabs">
<ul>
<?php for($i=0; $i < count($array_sezioni_menu0); $i++) {?>
<li><a href="<?php if($array_sezioni_menu0[$i]['figli']== 1){
?>#tabs-<?php echo $i;
}else if($array_sezioni_menu0[$i]['figli']== 0){
echo $array_sezioni_menu0[$i]['id'];
}?>"
class="titolo bordo_menu">
<?php echo $array_sezioni_menu0[$i]['nome'] ?>
</a>
</li>
<?php } ?>
</ul>
<!-- creo i sottomenu -->
<?php for($i=0; $i < count($array_sezioni_menu0); $i++) {
if($array_sezioni_menu0[$i]['figli']== 1){ ?>
<div id="tabs-<?php echo($i); ?>">
<?php for($c=0; $c < count($array_sezioni_gmenu); $c++) {
if ($array_sezioni_gmenu[$c]['id_parente']== $array_sezioni_menu0[$i]['id']){?>
<div id="tabs1-<?php echo $c; ?>" class="menug">

<li class="menuprova"><a href="<?php if($array_sezioni_gmenu[$c]['figli']== $array_sezioni_menu0[$i]['id']){
?>#tabs-<?php echo $c;
}else{
echo $array_sezioni_gmenu[$c]['url_pagina'];
}?>"
class="<?php echo $array_sezioni_gmenu[$c]['nome'] ?>_class">
<?php echo $array_sezioni_gmenu[$c]['nome'] ?>
</a>
</li>

</div> <!-- chiudo tabs- -->
<?php } // chiudo secondo if ?>
<?php } // chiudo secondo for ?>
</div>
<?php } // chiudo primo if ?>
<?php } // chiudo primo for ?>

</div> <!-- chiudo tabs -->


Per il jquery ho:

$(document).ready(function(){

$("#tabs").tabs();
});

se potete darmi una mano ve ne sarei veramente grati. Un grazie a tutti in anticipo

black_wizard
07-04-2011, 11:13
io avevo più o meno lo stesso tuo dilemma anche se lo script che usavo non era basato su ui tabs.
Cmq l'unica soluzione che ho trovato era di aggiungere una classe al <a href > oltre a quello del ui tabs che quando cliccavo mi portava al link che gli davo su una tag.

Per esempio
<a href="#ui-tabs-" class="click" rel="http://www.google.it">Click</a>

<script>
$('.click').click(function() {
window.location = $(this).attr("rel");
});
</script>

Ho aggiunto nell a href la classe "click" e link che volevo nel "rel"
Quando cliccki su link parte lo la funzione.

Funziona perfettamente fatto eccezione nel caso in cui clicchi con il tasto destro sul link e vuoi aprirlo su una nuova finestra non funzionerà (ovviamente).
Mi aspetterò in futuro che faranno o modificheranno lo script ui tabs o similari spostando l'id fuori dal campo href.
Ovviamente dovrai aggiungere quella classe click solo nella tab che non ha sottomenu.

_Leo_85
07-04-2011, 12:39
Grazie infinite, era proprio quello che stavo cercando. Funziona alla perfezione.
Grazie ancora:D :D