Question

J'utilise la bibliothèque JQuery dans mon projet. J'ai un problème épineux avec les onglets JQuery. La solution est que lorsque j'étais dans le troisième onglet, je poste mon formulaire, les onglets sont rechargés et passent au premier onglet. Je cherche à résoudre le problème depuis longtemps.

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

alors comment je résous ce problème? thx vos réponses.

Était-ce utile?

La solution

Les

onglets peuvent utiliser des cookies pour stocker l'onglet en cours. Consultez les onglets documentation . Dans la liste des options, vous trouverez un exemple d'utilisation des cookies pour stocker l'onglet en cours:

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

Pour cela, le plugin des cookies jquery doit être inclus.

Autres conseils

Vous n'avez pas spécifié si vous utilisiez ASP.NET, mais vous pouvez également stocker l'onglet sélectionné dans un < asp: HiddenField / > au lieu d'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" />

Si ce n'est pas ASP.NET, vous pouvez probablement faire quelque chose de similaire.

J'ai essayé d'utiliser la solution publiée par joelsand. Cependant, les options et les événements de jQuery Tabs ont été modifiés. La documentation actuelle est disponible sur http://api.jqueryui.com/tabs/ .

Au lieu du " show " l’événement, j’ai utilisé le "ient activé " un événement. Au lieu du & Quot; sélectionné & Quot; En option, j’ai utilisé le " actif " option. Au lieu d’un champ caché, j’ai utilisé une variable JavaScript (déclarée en dehors de UpdatePanel)

J'ai eu le même problème, corrigé en ajoutant ce qui suit aux gestionnaires de jquery, sélectionnez le gestionnaire d'événements:

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

Il efface efficacement tous les panneaux existants pour empêcher l'empilement de formulaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top