Сбой переключения Jquery для данных, полученных из Ajax Post - PullRequest
1 голос
/ 06 августа 2011

Я пытаюсь использовать плагин jQuery для реализации Развернуть все Divs / Свернуть все Divs / развернуть или свернуть отдельные Div, вот плагин Jquery: http://www.adipalaz.com/experiments/jquery/multiple_expand_all_collapse_all.html. Единственное отличие - я пытаюсь применить эти эффекты на Div, полученные из сообщения AJAX

Ниже мой текущий поток:

Публикация данных в url (getData.php) изindex.php и извлечение Html DIVs-> выполнение переключений на Div. CSS, необходимый для DIV, уже загружен в Index.PHP.

Кнопка переключения прикрепляется с помощью jquery и CSS к извлеченному DIV на странице индекса. Сценарий Java, необходимый для переключения div, уже присутствует на странице index.php. Но кнопки переключения не отображаются в извлеченном элементе div, потому что они срабатывают даже до получения содержимого. Я попытался использовать ajaxStop, чтобы вызвать завершение ajax и затем запустить функции переключения, но без использования. Ниже приведен пример кода.

     $.ajax({
                                type: 'POST',
                                url: 'getTicketSummary.php', 
                                data: {ref_no: ref_no},
                                success: function(data) {
                                    $('#wrapper').hide().html(data).slideDown('slow');
                                    $(function() {
     $("#content h3.expand").toggler();
        $("#content div.demo").expandAll({trigger: "h3.expand", ref: "h3.expand"});
    });
                            }
                        });
                    }
                });

$(function() {
     $("#content h3.expand").toggler();
        $("#content div.demo").expandAll({trigger: "h3.expand", ref: "h3.expand"});
    });

// это моя функция переключения, так как я использую плагин jquery, expand.js, теперь я попытался добавить функцию после запроса Post, но, похоже, она работает.

Ответы [ 2 ]

1 голос
/ 07 августа 2011

следующего кода достаточно для этого

 $.ajax({
       type: 'POST',
       url: 'getTicketSummary.php', 
       data: {ref_no: ref_no},
       success: function(data) {
                $('#wrapper').hide().html(data).slideDown('slow',function(){
                  $("#content h3.expand").toggler();
                  $("#content div.demo").expandAll({trigger: "h3.expand", ref: "h3.expand"});
                });
       }
  });
1 голос
/ 07 августа 2011

Неважно,

Я понял это. Я использовал $ ('# wrapper'). AjaxStop, чтобы инициировать завершение ajax-запроса, и запустил функцию, позволяющую включать переключатели при завершении.

мой код

    $.ajax({
                                type: 'POST',
                                url: 'getTicketSummary.php', 
                                data: {ref_no: ref_no},
                                success: function(data) {
                                    $('#wrapper').hide().html(data).slideDown('slow');
                                    $(function() {
     $("#content h3.expand").toggler();
        $("#content div.demo").expandAll({trigger: "h3.expand", ref: "h3.expand"});
    });
                            }
                        });
                    }
                });

$('#wrapper').ajaxStop(function() { 
     $("#content h3.expand").toggler();
        $("#content div.demo").expandAll({trigger: "h3.expand", ref: "h3.expand"});
    });

Надеюсь, это поможет кому-то с подобной проблемой, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...