Hallo @ulf-wagner

der Code sieht eigentlich schon sehr gut aus, es fehlt nur eine Kleinigkeit:

function setLocation(row) { const deviceId = row.down('td[data-property="GeraeteID"] span').textContent.trim(); const locationId = row.down('td[data-property="APStandortID"] span').textContent.trim(); }

Die erste ├änderung: ich verwende down anstatt von select - das ist eine Methode die der bequemlichkeit dient ­čÖé select liefert immer ein Array an gefundenen Elementen, down selectiert nur das "zuerst gefundene".

Ich habe au├čerdem den Selector angepasst, sodass dieser nun direkt das <span> Element in der Zelle selektiert.

Die zweite ├änderung: wir verwenden textContent um den "text" Inhalt des <span> Elements auszulesen - alternativ k├Ânnte man auch sowas nutzen wie innerHTML - das w├╝rde allerdings den HTML Link auslesen, probier das mal mit "APStandortID". Das Ergebnis w├Ąre: <a href="/i-doit/?objID=1295">1295</a> ... Aber du m├Âchtest ja vermutlich nur 1295.

Letzte Änderung: Aus technischen Gründen beinhalten die Spalten immer ein Leerzeichen - durch trim() wird dieses entfernt.

Um potentiellen JS Fehlern zu entgehen kann der Code auch so geschrieben werden:

function setLocation(row) { const deviceCell = row.down('td[data-property="GeraeteID"] span'); const locationCell = row.down('td[data-property="APStandortID"] span'); let deviceId = null; let locationId = null; if (deviceCell) { deviceId = deviceCell.textContent.trim(); } if (locationCell) { locationId = locationCell.textContent.trim(); } }

Das sichert nur ab, das die Selektoren tats├Ąchlich etwas gefunden haben ­čÖé

Ich hoffe das hilft weiter!

Viele Gr├╝├če
Leo