2015-12-20 3 views
2

Я очень новичок в плагине Datatables, и я использую его для моего небольшого проекта. У меня есть следующая проблема: + Я хочу создать таблицу, и каждая строка имеет ссылку, чтобы всплывать модальный для редактирования. В настоящее время моей реализации DataTables следующим образом:Таблицы данных - вызов вызова столбца дважды

$(document).ready(function() { 
    $('#dtTable').DataTable({ 
     serverSide: false, 
     processing: true, 
     deferRender: true, 
     ajax: { 
      type: 'POST', 
      url: '@Url.Action("GetClasses", "CLASSes")', 
      dataSrc: "" 
     }, 
     columns: [ 
       { data: 'CLASSID' }, 
       { data: 'CLASSCODE' }, 
       { data: 'CLASSNAME' }, 
       { 
        orderable: false, 
        searchable: false, 
        render: function (data, type, full, meta) { 
         debugger; 
         var data = full.CLASSID; 
         return '<a href="callModal()">Action</a>'; 
        } 
       } 
     ] 
    }); 
}) 

Проблема заключается в том, что когда-либо я нажимаю на действии ссылки модального появится, а потом исчезает мгновенно, поместите отладчик в секции вынести это, казалось, что этот раздел вызов дважды и я не знаю почему? Так что, пожалуйста, помогите мне в этом, каждая строка имеет ссылку на всплывающее окно и при нажатии на него. Спасибо вам, ребята, очень

ответ

2

JQuery DataTables плагин действительно вызывает render несколько раз: для обнаружения типа данных, отображения, сортировка и т.д.

Используйте следующий код для создания контента для отображения только:

render: function (data, type, full, meta) { 
    if(type === 'display'){ 
     data = '<a href="callModal()">Action</a>'; 
    } 

    return data; 
} 

Что касается модальных диалогов, то, скорее всего, в вашем коде возникает проблема, из-за которой модальное диалоговое окно исчезает.

+0

Для меня внутренняя визуализация: этот тип === 'display' вызывает дважды .. Я использую последнюю версию библиотеки на данный момент. – hriziya

+0

@HiteshRiziya, это нормально, это называется несколько раз для сортировки, фильтрации, отображения и определения типов, см. Параметр ['render'] (http://datatables.net/reference/option/columns.render) для получения дополнительной информации. –

+0

@HiteshRiziya: что мне делать, если я хочу, чтобы рендер нужно вызвать только один раз? Поскольку я делаю некоторые вычисления в методе рендеринга. –

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