i am figuring out how to add a row when clicked, it redirects the user to a page. but i cant find anything on the internet how to do that. Here are my codes.
Controller
public function ajax_list()
{
$list = $this->Infoserbilis_model->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $tblcontent) {
$no++;
$row = array();
$row[] = $no;
$row[] = $tblcontent->record_id;
$row[] = $tblcontent->title;
$row[] = $tblcontent->description;
$row[] = $tblcontent->type_id;
$row[] = $tblcontent->date_input;
$row[] = $tblcontent->encoded_by;
$row[] = $tblcontent->updated_by;
$row[] = $tblcontent->keywords;
$row[] = $tblcontent->broadclass_id;
$row[] = $tblcontent->agency_id;
$row[] = $tblcontent->contact_id;
$row[] = $tblcontent->approved;
$row[] = $tblcontent->approved_by;
$data[] = $row;
}
}
and this is my view
<table>
<tr>
<th>id</th>
<th>Record ID</th>
<th>Title</th>
<th>Description</th>
<th>Type</th>
<th>Encoded By</th>
<th>Updated By</th>
<th>Keywords</th>
<th>Broad Class</th>
<th>Agency</th>
<th>Contact</th>
<th>Approved?</th>
<th>Approved By</th>
</tr>
</table>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"responsive": true,
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('Infoserbilis/ajax_list')?>",
"type": "POST"
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false,
},
],
});
});
</script>
Please help me add another column where all the contents of it are just button/links. thanks in advance.
答案 0 :(得分:0)
做这样的事情
datatbl = $('.datatable').dataTable({
stateSave: true,
processing: true,
serverSide: true,
searchDelay: 500,
ajax: {
url: site_url('url'),
type: "POST"
},
order: [[ 0, "desc" ]],
columns: [
{ data: "data.data_id", className : 'data_id'},
{ data : "data.data_id", className: "action", orderable: false,searchable: false}
],
fnRowCallback : process_row,
});
function process_row( nRow, aData, iDisplayIndex ) {
var oSettings = datatbl.fnSettings();
data_id = $('td.data_id', nRow).html();
$('td.data_id', nRow).html(oSettings._iDisplayStart+iDisplayIndex +1);
$('td.action', nRow).html(
"<a href='"+site_url('url/view/'+data_id)+"' class='btn btn-xs btn-rm'><i class='fa fa-eye'></i> View</a> "
+
"<a href='"+site_url('url/edit/'+data_id)+"' class='btn btn-xs btn-rm'><i class='fa fa-pencil fa-fw'></i>Edit</a> "
);
return nRow;
}