2016-04-16 9 views
0

Nach den Datentabellen Spezifikationen, kann ich eine eindeutige ID für jede Zeile in meiner Tabelle hinzufügen:Datentabellen rowID mit einer Reihe Ausgabe beginnend

jedoch die gleiche Spezifikation sagt, dass IDs nicht mit einer Zahl beginnen. staffId in meinem Fall eine Zahl ist, habe ich versucht, einige Präfix, um es hinzuzufügen:

$('#myTable').DataTable({ 
    ajax: '/api/staff', 
    rowId: 'id_' + 'staffId' 
}); 

Doch diese Arbeit nicht. Irgendwelche Ideen?

+0

_staffId verwendet werden, ist ein number._ Nö, '‘ staffId'' ist eine ** Zeichenfolge ** in Ihrem Code. – hindmost

+0

@hindmost, dennoch sieht der Quellcode wie folgt aus: ... was nicht gut ist, denke ich. – sdvnksv

+0

Ja! "ID" -Attribut sollte nicht mit Zahlen wie in den Dokumenten beginnen. Sie müssen _Nicht arbeiten! _ – Rayon

Antwort

2

Verwenden function-expression als Wert für rowId und manipulierten String zurück als ID

var appListTable = $(".app-list__table").DataTable({ 
 
    dom: "", 
 
    // Load json with list of applicants 
 
    ajax: "https://api.myjson.com/bins/391gc", 
 
    columns: [{ 
 
    "data": "uid" 
 
    }, { 
 
    "data": "location" 
 
    }, { 
 
    "data": "date" 
 
    }], 
 
    // Set rows IDs 
 
    rowId: function(a) { 
 
    return 'id_' + a.uid; 
 
    }, 
 
});
in meinem Fall

Fiddle here

+0

Obwohl es auch so ist, gibt es einen Fehler "staffId ist nicht definiert". – sdvnksv

+0

Haben Sie es irgendwo definiert? Wie erwartest du, dass es "staff_1" ist, ohne "staffId" zu definieren? – Rayon

+0

stuffId stammt aus einer JSON-Datei. rowId: "staffId" (mit Anführungszeichen) funktioniert gut. Bitte beachten Sie die offiziellen Dokumente: https://datatables.net/reference/option/rowId. Das Problem ist, dass ich der zugewiesenen ID kein Präfix hinzufügen kann. – sdvnksv