Domanda

Sto usando la libreria jquery nel mio progetto. Ho un terribile problema con le schede jquery. La soluzione è che quando ero in terza scheda, invio il mio modulo, le schede ricaricate e passa alla prima scheda. sto cercando di risolvere il problema da molto tempo.

<script type="text/javascript">
    $(document).ready(function() {
        $("#example > ul").tabs({ remote: true, cache: true });
    });       
</script>

quindi come risolvo questo problema? grazie le tue risposte.

È stato utile?

Soluzione

Le schede

possono utilizzare i cookie per memorizzare la scheda corrente. Dai un'occhiata alle schede documentazione . Nell'elenco Opzioni c'è un esempio di come utilizzare i cookie per memorizzare la scheda corrente:

$('.selector').tabs({ cookie: { expires: 30 } });

Ciò richiede che il plug-in dei cookie jquery sia incluso però

Altri suggerimenti

Non hai specificato se stai usando ASP.NET, ma se lo sei puoi archiviare la scheda attualmente selezionata in un < asp: HiddenField / > invece di un cookie:

<script type="text/javascript" language="javascript">
    $(function() {
        $("#example").tabs({
            show: function() {
                var sel = $('#example').tabs('option', 'selected');
                $("#<%= hidLastTab.ClientID %>").val(sel);
            },
            selected: <%= hidLastTab.Value %>
        });
    });
</script>
<asp:HiddenField runat="server" ID="hidLastTab" Value="0" />

Se non ASP.NET, probabilmente potresti fare qualcosa di simile.

Ho tentato di utilizzare la soluzione pubblicata da joelsand. Tuttavia, le opzioni e gli eventi delle schede jQuery sono cambiati. La documentazione attuale è disponibile all'indirizzo http://api.jqueryui.com/tabs/ .

Invece di " show " evento, ho usato il " attivato " evento. Invece del & Quot; selezionato & Quot; opzione, ho usato il " attivo " opzione. Invece di un campo nascosto, ho usato una variabile JavaScript (dichiarata fuori da UpdatePanel)

Ho avuto lo stesso problema, risolto aggiungendo quanto segue alle schede jquery selezionare il gestore eventi:

$("div.ui-tabs-panel").html("");

Elimina efficacemente tutti i pannelli esistenti per impedire l'accatastamento dei moduli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top