javascript
  • php
  • jquery
  • ajax
  • 2016-07-28 3 views 0 likes 
    0

    У меня есть АЯКС вызов:нагрузки сценарий после того, как Ajax вызова не работает

    $('#opt').change(function() { 
        var option = $("#cdc").val(); 
        $.ajax({ 
        type: "POST", 
        url: "orari_pause/select_spaccato.php", 
        data: 'option=' + option, 
        success: function(whatigot) { 
         $('#spaccato').html(whatigot); 
        }, //END OF SUCCESS 
        complete: function() { 
         $.getScript("orari_pause/script_opener.js", function() { 
         }); 
        } //END OF COMPLETE 
        }); 
    }); 
    

    script_opener.js

    $(function() { 
        $("#dialog").dialog({ 
        autoOpen: false, 
        title: 'Dettaglio sessioni', 
        height: 600, 
        width:800, 
        modal:true, 
        resizable: false 
        }); 
    
        $(".opener").click(function() { 
        var id = $(this).attr('id'); 
        $("#dialog").load("orari_pause/dettaglio_sessioni.php?id="+id); 
        $("#dialog").dialog("open"); 
        $('.ui-widget-overlay').css('background', 'silver'); 
        }); 
    
        $("#dialog2").dialog({ 
        autoOpen: false, 
        title: 'Inserimento sessione', 
        height: 380, 
        width:300, 
        modal:true, 
        resizable: false 
        }); 
    
        $(".opener_session").click(function() { 
        var id = $(this).attr('id'); 
        $("#dialog2").load("orari_pause/form_nuova_sessione.php?id="+id); 
        $("#dialog2").dialog("open"); 
        $('.ui-widget-overlay').css('background', 'silver'); 
        }); 
    }); 
    

    В select_spaccato.php У меня есть кнопка с классом opener_session. Когда я нажимаю на него, событие не срабатывает (но скрипт загружен правильно). Я думаю, это проблема с DOM ... Я также пытаюсь выполнить поиск в форуме Stackoverflow без каких-либо результатов.

    Вы можете мне помочь?

    EDIT Я пытаюсь загрузить код JavaScript внутри whatigot переменной, те же результаты. Код JS загружен, но события не работают.

    +0

    Вы уверены, чтобы отправить данные опции правильно? Я думаю, вы должны использовать var option = $ (this) .val(); добавьте к вопросу структуры HTML, чтобы я мог отразить вашу проблему дома. – rad11

    +0

    Да, страница возвращается правильно. Элементы opener_session в нем, при нажатии, не запускают событие (script_opener.js, в «полной» функции) –

    +0

    вы можете использовать $ .when. вы можете ссылаться на https://css-tricks.com/multiple-simultaneous-ajax-requests-one-callback-jquery/ или попробовать загрузить скрипт в самой функции sucess –

    ответ

    1

    Использование события делегации

    $('body').on('click',".opener",function() { 
    
    $('body').on('click',".opener_session",function() { 
    
    +1

    Зачем это нужно? Элемент, о котором идет речь, добавляется динамически, но скрипт, который вызывает '.click()', запускается * после *, что, не так ли? – nnnnnn

    +0

    лучше вопрос, зачем загружать другой файл js, когда вы можете вставить содержимое этого файла в функцию успеха/завершения? – madalinivascu

    +0

    Спасибо, он работает !!! –

    Смежные вопросы