Datatable içinde sortable kullanımı ?
datatable içine verileri json olarak alıyorum
fakat bir türlü id değerine ulaşamadım.
bu konuda yardımcı olabilirmisiniz.?
var o = $("#anasayfa-list").DataTable({
processing: true,
serverSide: true,
serverMethod: 'POST',
ajax: {
url: "/SayfaData/",
},
columns: [
{data: 'id'}
],
rowReorder: {
dataSrc: 'id',
selector: 'tr'
},
});
-----------
$( "#anasayfa-list > tbody" ).sortable({
delay: 150,
stop: function() {
var datav = new Array();
$('#anasayfa-list > tbody').each(function() {
datav.push($(this).attr("TRID"));
});
console.log(datav);
alert(datav);
update(datav);
}
});
function update(data) {
$.ajax({
url:"/Sortable/",
type:'post',
data:{sira:data},
success:function(){
alert('güncel');
}
})
}
<div class="table-responsive">
<table id="anasayfa-list" class="table table-striped table-bordered display" style="width: 100%">
<thead>
<tr id="TRID" class="btn-info">
<th class="noshort" title="Tümünü Seç">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="checkall"/>
<label class="form-check-label" for="checkall"></label>
</div>
</th>
<th>id</th>
</tr>
</thead>
</table>
</div>
Keşke çalışsaydı benim yöntemle o kadar umutlu idim :) ekstra sortable a gerek kalmayacaktı. Aslında bütün data elimde olsa yaparım da siz nasıl istiyorsanız öyle yapın :)
Şimdi hatırladığım kadarıyla $(row).attr('id', 'data-'+dataid);
burada data-id şeklinde verilmesinin sebebi sortable ın data- dan sonraki id kısmını otomatik olarak yakalaması idi. Ona göre mevcut sırasını anahtar => değer şeklinde sunucuya gönderiyordu.
Benim yaptığım mantık hepsini döngüye sokma şeklinde idi
foreach($_POST as $k => $v) {
$update = $db->prepare("UPDATE table SET order = ? WHERE id = ?");
$update->execute([$k, $v]);
}