v2.5.2
Giriş yap

Datatable içinde sortable kullanımı ?

acemi
469 defa görüntülendi

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>  
acemi
807 gün önce

@abdullahx

ben yaptım bi bakim adam cvp yazmıştır dedim sen yazmışsn :D

                        $response = []; 
                        $position = $_POST['data'];
                        $i = 1;
                        foreach($position as $key=>$value){ 
                            $sql = "UPDATE modul_anasayfa SET sira = :sira WHERE id = :id";
                            $stmt = $db->prepare($sql);
                            $stmt->bindParam(':sira', $i, PDO::PARAM_INT);
                            $stmt->bindParam(':id', $value, PDO::PARAM_INT);
                            $stmt->execute();
                            $i++;
                            if($stmt){
                                $response["Status"] = "ok";
                                $response["text"] = "tamam"; 
                            }else{
                                $response["Status"] = "error";
                                $response["text"] = "hata"; 
                            }
                        }

                        echo json_encode($response);

bunlarıda buraya eklimde belki birine lazım olur işini görürler.

dostum sanada alakan dolayı tekrar teşekkür ederim.