2015-02-26 3 views
0

Я хочу реализовать функцию, в которой данные будут загружены в datatable после события onChange. Поэтому для этого я пытаюсь реализовать код, как показано ниже.Загрузка данных в datatable on onchange event

var viewdatatab = $('#dataTablesFeedback').dataTable({      

       "columns": [ 

        { "data": "resourceId" }, 
        { "data": "feedbackRecommendation" }, 
        { "data": "technicalSkillGaps" }, 
        { "data": "technicalAvgSkills" }, 
        { "data": "feedbackType" }, 
        { "data": "feedbackId" }, 
        { "data": "isNew" }, 

       ] 
     }); 

Что создает мое DataTable расположения и я звоню ниже функции на событии изменения раскрывающегося:

function loadFeedback(){ 

viewdatatabJS = $('#dataTablesFeedback').dataTable({      
    "processing" : true, 
    "retrieve" : true, 
    "ajax" : "/nhp/rest/feedback/viewFeedback", 
    "fnServerParams": function (aoData) { 
     aoData.push({ "name": "userName", "value":employeeId } , 
        { "name": "resourceId", "value":mentorDataJson[$('#dropDownId').val()].resourceId }); 
    }, 
}); 
} 

Где я передаю некоторый параметр в aoData.push, но мой URL не вызывалось.

+0

Прошли ли вы через свой код с помощью отладчика, чтобы узнать, где это происходит? Прочитали ли вы документацию Bootstrap, чтобы убедиться, что вы правильно используете функцию .dataTable? Существуют ли какие-либо сообщения об ошибках? Где и как вызывается функция 'loadFeedback'? – amphetamachine

+0

@amphetamachine: да, я попытался отладить код, но он не ударил по URL-адресу только с конца клиента, а также не дал никаких ошибок в firebug. Я вызываю свою функцию loadFeedback с моей страницы jsp, где я написал эту функцию в событии onChange из раскрывающегося списка. –

ответ

0

I Решил проблему, просто применяя свойства datatable. я написал свой код DataTable

 var viewdatatab = $('#dataTablesFeedback').dataTable({      

      "columns": [ 

       { "data": "resourceId" }, 
       { "data": "feedbackRecommendation" }, 
       { "data": "technicalSkillGaps" }, 
       { "data": "technicalAvgSkills" }, 
       { "data": "feedbackType" }, 
       { "data": "feedbackId" }, 
       { "data": "isNew" }, 

      ] 
    }); 

в Jsp document.ready (функция()), а затем по моей просьбе вызова ниспадающего события изменения я написал ниже кода на моем яваскрипте функции.

 $.ajax({ 
     url : "", 
     type: 'GET', 
     contentType: "application/json", 
     data: { 
      'userName': value, 
      'resourceId' : value, 
     }, 
      success: function(data) { 
      var table = $('#dataTablesFeedback').DataTable(); 
      table.clear(); 
      table.rows.add(data.data); 
      table.draw();  
     }); 

этот путь я сначала очистить мой DataTable, а затем перерисовывать его с помощью моего JSON, который я получил от моего AJAX вызова. Thanks

+0

Это неправильно. Повторная инициализация таблицы вызовет ошибку. . $ ('# DataTablesFeedback') DataTable(); –