Eine Spalte in meiner DataTable heißt Logion Link. Es zeigt für jeden Datensatz eine URL an, aber diese URL ist standardmäßig nicht aktiv. Gibt es eine einfache Möglichkeit, das zu beheben?Erstellen einer Spalte mit Links in jeder Zeile meiner DataTable aktiv, verkürzt die Spalte auch?
Das andere Problem ist, dass .... Mit der vollständigen URL angezeigt wird, ist die Spalte extrem lang. Es würde mir nichts ausmachen, den Text der Spalte so zu ändern, dass ich einfach "url" sage, wobei diese Zeichenfolge ein Hyperlink zur logeion-URL ist, was wahrscheinlich eine Verkürzung bewirken würde. Wie beginne ich das zu tun?
Ich gehe davon aus, dass ich zwei Fliegen mit einer Klappe schlagen kann, wenn ich einen Weg finde, den HTML-Code für eine DataTables-Zeile und eine bestimmte DataTables-Spalte zu bearbeiten, dann könnte ich einen Weg finden, zu sagen "für diese bestimmte Spalte (Logion Link) jeder Zeile, machen Sie ihr HTML ein <a>
Tag und ändern Sie den Text für das <a>
Tag. "
Es ist nur ... im Moment bin ich mir nicht sicher, welcher Selektor oder Rückruf mir erlauben würde, den HTML-Code jeder Zeile zu ändern.
edit: Der Code mein Tables Objekt zur Initialisierung ist hier
words_table = $("#words_generated").DataTable({
"data" : word_data_filtered,
"columns" : columns, //should this be global_ocolumns
"aLengthMenu": [[25, 50, 100, 200, -1],
[25, 50, 100, 250, "All"]],
"pageLength": 100,
});
wo Spalten eine Liste von Spalten ist
columns.push({
"name" : $(this).data("fieldname"),
"data" : "fields."+$(this).data("fieldname"),
"visible" : $(this).data("visible")
});
Objekte Ich habe versucht, speziell auf deeect, wenn der Name der Spalte " logeion_url "(und ja, das funktioniert mit den .data (" fieldname ") Attributen), aber das führte zu Syntaxfehlern.
if ($(this).data("fieldname") == "logeion_url") {
columns.push({
"name": $(this).data("fieldname"),
"data" : "fields.logeion_url",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
$(nTd).html("<a href="+sData.fields.logeion_url+">"url"</a>");
}
,
"visible" : $(this).data("visible")
});
Ich habe versucht, aus der dieses Forums Vorschlag zu gehen https://www.datatables.net/forums/discussion/25111/hyperlink-in-td
Verwenden Sie render. Es gibt ein Beispiel Rendering einen Link hier https://datatables.net/reference/option/columns.render –
Sie haben Recht! Ich werde meinen Code kopieren und einfügen. –