2016-08-20 17 views
0

私はそうのように定義されたAjaxのデータソースとのjQuery datatableを持っている:更新Ajaxのデータ

var selected_ids = []; 

selected = $('#selected_members').dataTable({ 
    "ajax": { 
     'type': 'GET', 
     'url': "{!! route('admin.members.included_datatables') !!}", 
     'data': { 
      'member_ids' : JSON.stringify(selected_ids) 
     }, 
    }, 
    "processing": true, 
    "serverSide": true, 
    "columns": [ 
     null, 
     null, 
     null, 
     null, 
     null, 
     {"searchable": false, "orderable": false} 
    ] 
}); 

$('#available_members').on('click', '.select', function(e) { 
    e.preventDefault(); 

    member_id = $(this).data('member-id'); 
    selected_ids.push(member_id); 

    selected.api().ajax.reload(); 
}); 

あなたは私が手動でselected_idsの内容を更新していると私はその後、データテーブルをリフレッシュしたい見ることができるように。これは、データテーブルが再ロードされ、ajax呼び出しがサーバーに渡すmember_idsパラメーターがまだ空の場合を除き、機能しています。テーブルをリロードする前に手動でajax呼び出しのデータプロパティを更新する必要がありますか?そうであればどうすればいいですか?

答えて

0

私は私ではなく、そのようなデータ属性の閉鎖を使用し、それを固定:

selected = $('#selected_members').dataTable({ 
    "ajax": { 
     'type': 'GET', 
     'url': "{!! route('admin.members.included_datatables') !!}", 
     'data': function (d) { 
      d.member_ids = selected_ids; 
      return d; 
     } 
    }, 
    "processing": true, 
    "serverSide": true, 
    "columns": [ 
     null, 
     null, 
     null, 
     null, 
     null, 
     {"searchable": false, "orderable": false} 
    ] 
}); 
関連する問題