2015-02-13 7 views
0

У меня есть простая функция, которая обновляет базу данных, которая отлично работает, пока вы не перейдете страницу 1 jQuery datatable. Сама разбивка страницы не «ломает» ее, поскольку вы можете идти туда и обратно, и она будет работать только на странице 1. В качестве быстрого примера я могу использовать ее на странице 1 (она работает), я нажимаю на страницу 2 (это не так работайте над любыми строками). Я снова нажимаю на страницу 1 (она работает снова) без обновления страницы.Функция jQuery на размытии перестает работать после jQuery datatables pagination

<script type="text/javascript"> 

$(function(){ 
    //acknowledgement message 
    var message_status = $("#status"); 

    $("span[contenteditable=true]").blur(function(){ 
    var field_userid = $(this).attr("id") ; 
    var value = $(this).text() ; 
    $.post('processing/inline-edit' , field_userid + "=" + value, function(data){ 
     if(data != '') 
     { 
      message_status.show(); 
      message_status.text(data); 
      //hide the message 
      setTimeout(function(){message_status.hide()},6000); 
     } 
    }); 
}); 

}); 

</script> 

Это в основном, как таблица выглядит:

<table cellpadding="0" cellspacing="0" border="0" class="display table table-bordered table-striped" id="dynamic-table"> 
       <thead> 
       <tr> 
        <th>ID</th> 
        <th>Element</th> 
       </tr> 
       </thead> 
       <tbody> 

//php while loop here 
<tr> 
    <td><span id="element:'.$row['id'].'" contenteditable="true">....</span></td> 
</tr> 

..... 

ответ

1

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

$("body").on("blur", "span[contenteditable=true]", function() { 
+1

Ничего себе! это было быстро, прекрасно работает! Я согласен с ответом, однако, я думаю, что существует ограничение по времени (вы были слишком быстры, ха-ха). Пометит его позже. еще раз спасибо –

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