Функция Ajax для кнопки после .load () - PullRequest
0 голосов
/ 07 августа 2011

У меня есть кнопка с классом 'check_button' в div 'check_div'. У меня есть код Jquery, который, если пользователь нажимает на кнопку, скрипт отправляет запрос Ajax на сервер. После этого он перезагружает div с помощью .load (), поэтому он также перезагружает кнопку. Проблема в том, что тогда код Jquery не работает для кнопки. Я читал другие статьи о Stackoverflow, но я новичок в Ajax и Jquery, поэтому не знаю, как решить мою проблему. Ссылка, которую я нашел с той же проблемой (я думаю): Манипулирование элементами после AJAX load ()

1 Ответ

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

Если я вас правильно понимаю, вы делаете 2 звонка на сервер:

  1. AJAX-вызов
  2. загрузка

Почему бы не сделать это в 1 вызове?

  $.ajax({
    url: theurl,
    type: 'POST',
    data: {},
    dataType: 'json',
    error: function(req, resulttype, exc)
    {
      // error handling
    },
    success: function(data)
    {
      $('.check_div').html(data.html);
    }
  });

В своем ответе от сервера вы можете json кодировать, когда захотите отправить обратно клиенту.

Что касается вашего вопроса:

Также все динамическидобавленные элементы можно использовать с:

$(element).live('click', function() { });

или, что еще лучше, с .delegate(): $ (контейнер) .delegate ('. check_div', 'click', function () {});

вместо:

$(element).click(function() { });

Для получения дополнительной информации проверьте:

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/delegate/

http://api.jquery.com/live/

...