Функция jquery не срабатывает, когда я использую dataTable.fnAddData
для добавления строки HTML.
Итак, у меня есть функция populateDataTable()
, есть два столбца, которые мне нужны для рендеринга значка вместо данных из JSON.
Поэтому я попытался добавить строку HTML, включая классы для элемента в fnAddData()
. Но почему-то не срабатывает событие нажатия на иконку.
function populateDataTable(data) {
$("#customerTable").DataTable().clear();
var length = Object.keys(data).length;
for(var i = 1; i < length+1; i++) {
var index = i - 1;
var name = data[index].name;
var queue = data[index].queue;
var expire = data[index].expire;
$('#customerTable').dataTable().fnAddData( [
i,
name,
queue,
'<td id="tb-manage-key" class="tb-manage-key"><div class="tb-btn manage-key-btn switch-view" data-hide="manageCustomers" data-title="@Resources.ManageKeys" data-target="manageKeys"><span></span></div></td>',
'<td class="tb-manage-subs"><div class="tb-btn manage-subs-btn switch-view" data-hide="manageCustomers" data-title="@Resources.ManageSubscriptions" data-target="manageSubscriptions"><span></span></div></td>',
expire,
name
]);
}}
$('.tb-btn.switch-view').on('click', function(e) {
e.preventDefault();
switchView(this);
console.log('Testing'); //not firing
});
Значок показывает, но не запускает событие щелчка, как это должно быть. Приложенный ниже показывает, что мы видим, что он добавляет div, как и ожидалось.
![enter image description here](https://i.stack.imgur.com/4hKOY.png)
* Решения 1016 *
Добавление события click в пределах работ populateDataTable()
.
$('#customerTable tbody').on('click', '.tb-btn.switch-view', function() {
switchView(this);
});