2013-03-23 7 views
-1

Когда загрузка страницы в первый раз содержимое страницы, которое я загружаю на Jquery.ready javascripts, отлично работает, когда я использую ajax, чтобы что-то делать и пытаюсь загрузить страницу снова. Javascript не работает на этой второй странице который я пытаюсь загрузить. Я попытался решить эту проблему, используя методы live()/on(), но это не сработало.загрузить страницу в div

$(document).ready(function() { 
    $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx"); 
}); 

$('#btnekleme').live('click', function() { 
    $.ajax({ 
     type: "POST", 
     url: "/Panel/MusteriSource/mus_kisiadd.aspx/mus_kisi_kaydet", 
     data: "{ad:'" + $.trim($("#txtalt_mus_adi").val()) + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     async: true, 
     cache: false, 
     before: $("#btnekleme").hide(), 
     success: function (msg) { 
      if (msg.d == "ok") { 
       $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx"); 
      } else $("#loaded").html(msg.d).show(500); 
     }, 
     error: function (x, e) { 
      alert("The call to the server side failed. " + x.responseText); 
     } 
    }); 
} 

ответ

1

live устарела, поэтому используйте on() делегированные событие .. делегировать его на ближайший статический родитель .. (это не может быть проблемой, но его безопасным для использования на() для будущего, если упаковывают вы хотите обновить JQuery в ближайшее время ...) .. вот link если вы хотите узнать больше о on()

$(document).on('click','#btnekleme', function() {.. //using closest static parent element is preferred here than the document 

и вы можете передавать данные в качестве объекта в AJAX

var inputValue= $.trim($("#txtalt_mus_adi").val()); 
data: {ad:inputValue}, 
+0

** Я попытался решить эту проблему с помощью живой()/на() методы, но он не работал. ** – hjpotter92

+0

сделал и не заметить часть данных ..... – bipen

+0

я сделал , Следовательно, я поставил конкретную цитату в комментарии. Вы должны отметить, что вы делегировали контент тоже. – hjpotter92

0

Благодарим вас за ответы. Я сделал это таким образом, я только что создал функцию, которая является kontrolet(), когда я запускаю этот канал, он работает хорошим способом, который я хочу.

 $(document).on('click', '#btnekleme', function() { 
        $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx"); 
       }); 

function kontrolet() { 
     $.ajax({ 
          type: "POST", 
          url: "/Panel/MusteriSource/mus_kisiadd.aspx/mus_kisi_kaydet", 
          data: "{ad:'" + $.trim($("#txtalt_mus_adi").val()) + "'}", 
          contentType: "application/json; charset=utf-8", 
          dataType: "json", 
          async: true, 
          cache: false, 
          before: $("#btnekleme").hide(), 
          success: function (msg) { 
           if (msg.d == "ok") { 
            $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx"); 
            alert("Kayıt işlemi başarılıdır.!"); 
            TextArealariClearET(); 
            $("#btnekleme").show(); 
           } 
           else 
            $("#loaded").html(msg.d).show(500); 
          }, 
          error: function (x, e) { 
           alert("The call to the server side failed. " + x.responseText); 
          } 
         }); 
     } 
Смежные вопросы