web-dev-qa-db-fra.com

Obtenir les lignes sélectionnées première valeur de colonne dans datatable

$('.example tbody').on('click', 'tr', function (){
    var id = this.id;
    var index = $.inArray(id, selected);
    if (index === -1) 
    {
    selected.Push(id);
    } else 
    {
    selected.splice(index, 1);
    }
    $(this).toggleClass('selected');
});
$('#btn').click(function (){
    var dataArr = [];
    var rowCount = table.rows('.selected').data().length;
    alert(rowCount);
});

Voici le code pour sélectionner plusieurs lignes. En cliquant sur le bouton, je dois obtenir la première valeur de colonne des lignes sélectionnées et la stocker dans un tableau dataArr []. S'il vous plaît aidez-moi à résoudre ce problème. 

7
user3667960

Essaye ça:

DÉMO

$('#btn').click(function (){
    var dataArr = [];
    $.each($("#example tr.selected"),function(){ //get each tr which has selected class
        dataArr.Push($(this).find('td').eq(0).text()); //find its first td and Push the value
        //dataArr.Push($(this).find('td:first').text()); You can use this too
    });
    console.log(dataArr);
});

METTRE À JOUR

Vous pouvez aussi utiliser certaines fonctions natives de dataTables comme ci-dessous:

$('#btn').click(function (){
    var dataArr = [];
    var rows = $('tr.selected');
    var rowData = table.rows(rows).data();
    $.each($(rowData),function(key,value){
        dataArr.Push(value["name"]); //"name" being the value of your first column.
    });
    console.log(dataArr);
});

MISE À JOUR DEMO

12
Guruprasad Rao

Code Guruprasad (parfait) avec de petites mises à jour pratiques.

var table= $('#YourTableName').DataTable();
$('#button').click(function () {
           var arr = [];
           $.each(table.rows('.selected').data(), function() {
               arr.Push(this["ColomnName"]);
           });
});
1
Dinand