2016-07-12 1 views
0

У меня есть страница EJS, использующая AJAX для извлечения некоторых данных. после загрузки данных я хочу добавить определенный контент в div. В приложенном содержании, есть флажки, которые используют следующий сценарий:EJS Script не может выполнить вызов ajax 'success'

<script> 
$('#selectall').change(function() { 
    $('.checkbox').prop('checked', this.checked).trigger('change'); 
}); 
</script> 

Вот мой Аякс:

$.ajax({ 
type: 'POST', 
data: JSON.stringify(data), 
contentType: 'application/json', 
url: 'http://localhost:3000/mytableajax', 
success: function(result) { 
    //result is printed, everything is retrieved correctly 
    $('#mytable').empty(); 
    var eventresult = JSON.parse(result); 
    var node = document.getElementById('mytable'); 

    toAppend += '<input type="checkbox" id="selectall" class="c-check">'; //This checkbox will allow me to select all other checkboxes 

    //I have other checkboxes appended at the bottom with the class "checkbox" 


    node.innerHTML = toAppend; 
    document.getElementById('mytable').appendChild(node); 
}) 

Когда я первый доступ к странице, то выберите все функции работы. Однако, когда данные изменяются с использованием AJAX, как показано в приведенном выше коде, функция select all function перестает работать. Я полагал, что мой сценарий, похоже, не может выполнить в рамках «успешного» обратного вызова AJAX, так как все мои функции, которые используют скрипт, как представляется, терпят неудачу после изменения/добавления с использованием AJAX.

Есть ли способ выполнить скрипты в моем обратном вызове AJAX? Цените любые отзывы/советы!

ответ

0

Я нашел решение, которое действительно работает, надеюсь, что это поможет кому-то с той же проблемой.

$(document).on('change', '#selectall' , function() { 
    $(".checkbox").attr('checked', $(this).is(":checked")).trigger('change'); 
}); 

В принципе, используя метод .А в этом формате вместо метода .Кнопки позволяет содержание от AJAX открыть скрипт.

Есть идея отсюда: https://forum.jquery.com/topic/use-on-click-do-not-work-after-ajax-call