I am try to add export buttons to my datatable, my table include select boxes inside, the problem is - it export all the options values included in the select box... A am using ajax to get results from the server then manipulate different data before render using dataSrc
function like so:
dataTableInit: function (columns_def) {
var me = this;
me.dataTable_obj = $('#leads_table').DataTable({
"pageLength": per_page,
dom: 'Blfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
],
"order": [order],
"ajax": {
url: route,
type: method,
data: filtering_data,
"dataSrc": function (json) {
return me.setLeadsTableData(json);
}
},
"columns": columns_def,
....
in the setLeadsTableData
i checking the columns returned from the server then if it a column that should be a select box I am changing it template like so:
setStatusesSelectBox: function (status_obj, lead_id) {
var me = this;
var statuses_list = '';
var bg_color = status_obj.name == "new" ? me.new_status_row_bg_color : '';
$.each(me.client_statuses, function (key, val) {
if (val.id != status_obj.id) {
if (typeof val.is_won !== "undefined" && val.is_won != 0) {
statuses_list += "<option data-icon='fa fa-thumbs-o-up' value='" + val.id + "'>" + val.name + "</option>";
} else if (typeof val.is_lost !== "undefined" && val.is_lost != 0) {
statuses_list += "<option data-icon='fa fa-thumbs-o-down' value='" + val.id + "'>" + val.name + "</option>";
} else {
statuses_list += "<option value='" + val.id + "'>" + val.name + "</option>";
}
} else {
if (typeof val.row_bg_color !== 'undefined') {
bg_color = val.row_bg_color;
}
if (typeof status_obj.is_won !== "undefined" && status_obj.is_won != 0) {
statuses_list += "<option data-icon='fa fa-thumbs-o-up' value='" + val.id + "' selected>" + val.name + "</option>";
} else if (typeof status_obj.is_lost !== "undefined" && status_obj.is_lost != 0) {
statuses_list += "<option data-icon='fa fa-thumbs-o-down' value='" + val.id + "' selected>" + val.name + "</option>";
} else {
statuses_list += "<option value='" + val.id + "' selected>" + val.name + "</option>";
}
}
});
statuses_list += "</select>";
var select_start = "<select name='status' data-show-icon='true' data-row-bg='" + bg_color + "' class='form-control status-select' data-lead-id='" + lead_id + "'>";
;
return select_start + statuses_list;
},
any answer will help, appreciate it