2017-06-01 118 views
0

我正在使用jquery和datatables動態地生成編輯和刪除按鈕。我需要以後訪問它們與JavaScript,我不能讓它的工作。訪問動態生成的按鈕

我有這樣的渲染功能:

render: function (data) { 
          var actions = ''; 
          actions += '<div class="btn-group btn-group-xs">'; 
          actions += '<div id="'+data.id+'" class="buttonUpdate btn btn-primary"><span class="glyphicon glyphicon-pencil"></span></div>'; 
          actions += '<div id="'+data.id+'" class="buttonDelete btn btn-danger"><span class="glyphicon glyphicon-trash"></span></div>'; 
          actions += '</div>'; 
          return actions; 
         } 

而且我可以看到按鈕顯示正確。

我試圖讓與事件:

$('.buttonDelete').click(function() { 
     alert('button clicked'); 
     console.log(this.id); 
     //window.location.href = "{!! route('employee') !!}/"+employee_id; 
    }); 

但它沒有做任何事情:(

我怎樣才能得到事件,也是我怎麼可以看到,如果正確生成按鈕?用正確的ID和類

+2

退房[委派事件](http://api.jquery.com/on/#direct-and-delegated-events)。您的處理程序不起作用,因爲它已明確分配給處理程序初始化之前存在的元素。動態添加的元素必須在父元素上處理傳播的事件。 –

回答

5

看看Delegated Events

變化:

$('.buttonDelete').click(function() { 

到:

$(document).on('click', '.buttonDelete', function() { 
+0

隨意複製意大利麪的解釋和鏈接從我的評論,如果你想。 –

+0

好吧,我讀過你發送的鏈接,非常感謝你,非常清楚... – Richard