Проблема с вкладками jqueryui: почему скрипты, загруженные ajax, не работают с первого раза? - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть ряд вкладок, содержимое которых загружается из файла PHP, который содержит некоторый код jquery.При начальной загрузке страницы этот код не работает и вообще не отображается в Firebug.Если я нажимаю на другую вкладку (и она затем загружает содержимое с помощью того же сценария PHP), код обнаруживается и работает.Если я вернусь к исходной вкладке по умолчанию, код снова будет работать.

Итак, суть в том, что встроенные коды jquery не работают (или даже не появляются) при первоначальном создании вкладок, но работают после нажатия кнопки.включение и выключение вкладки (и запуск перезагрузки в ajax).

Код для создания вкладок:

var xmlParser = function(xml) {
    var index = 0;
    $(xml).find("group").each(function() {
        var name = $(this).find("name").text();
        tabArray[name] = index;
        $("#tabs").tabs( 'add', 'perms.php?m=getgroupTAB&g=' + name, name);
        index++;
    })
};

[Я веду индекс для последующих манипуляций с вкладками]

Код, загруженный из PHP:

<script>
                $(function(){
                    $("#%name%_addperm").click(function(){
                        addperm("%name%", $("#%name%_txtperm").val(), $("#%name%_permWorld").val()); 
                    });
                    $("#%name%_delperm").click(function(){
                        delperm("%name%", $("#%name%_PBox").val());
                    });

                    $("#%name%_manageUserGroup").click(function(){
                        manageUserGroups("%name%");
                    });
                });

            </script>';

, где% name% заменяется именем группы перед загрузкой.

Опять же, этот код работает прекрасно, если я позволю странице загружаться, затем нажмите на вкладку (которая загружает контент).Если я попытаюсь использовать эти кнопки на странице по умолчанию, она не будет работать (и код вообще не будет отображаться в firebug).

Я попытался, чтобы начальный скрипт выбрал другие вкладки последелать все остальное (например, $ ('# tabs'). tabs ("select", 2)), и это дает тот же результат.Пользователь должен щелкнуть вкладку, чтобы загрузить рабочий скрипт.

Кто-нибудь видел это и может помочь?

...