Проблема с обратной передачей вкладок jquery

StackOverflow https://stackoverflow.com/questions/600089

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую библиотеку jquery в своем проекте. У меня ужасная проблема с вкладками jquery. Решение заключается в том, что когда я был на третьей вкладке, я отправляю обратно свою форму, вкладки перезагружаются и переходят на первую вкладку.Я ищу решение проблемы долгое время.

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

и как мне решить эту проблему?спасибо за ваши ответы.

Это было полезно?

Решение

вкладки могут использовать файлы cookie для хранения текущей вкладки.Посмотрите на вкладки документация.Внизу в списке «Параметры» есть пример использования файлов cookie для хранения текущей вкладки:

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

Это требует плагин jquery для файлов cookie хотя быть включенным.

Другие советы

Вы не указали, используете ли вы ASP.NET, но если да, то вы можете сохранить выбранную в данный момент вкладку в <asp:HiddenField /> вместо файла 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" />

Если бы не ASP.NET, вы, вероятно, могли бы сделать что-то подобное.

Я попытался использовать решение, опубликованное joelsand.Однако параметры и события вкладок jQuery изменились.Текущая документация находится по адресу http://api.jqueryui.com/tabs/.

Вместо события «показать» я использовал событие «активировано».Вместо «выбранного» варианта я использовал «активный».Вместо скрытого поля я использовал переменную JavaScript (объявленную вне UpdatePanel).

У меня была та же проблема, исправленная путем добавления следующего в обработчик событий выбора вкладок jquery:

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

Он эффективно очищает все существующие панели, предотвращая скопление форм.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top