Eine durch Kommas getrennte Liste der ersten Zellenwerte für Zeilen mit Klassennamen erhalten (mit JQuery)?

StackOverflow https://stackoverflow.com//questions/25046666

  •  21-12-2019
  •  | 
  •  

Frage

Ich versuche, IDs aus der Tabelle unten abzurufen, wenn eine Zeile ausgewählt ist.Die JQuery sollte beispielsweise Folgendes zurückgeben:„12,14“. Mein Code unten gibt eine leere Zeichenfolge zurück?

Mein HTML:

<table id="display" width="100%">
  <thead>
      <tr>
           <th>ID</th>
           <th>first</th>
           <th>last</th>
           <th>number</th>
       </tr>
   </thead>
<tbody>
...etc...
   <tr class="selected">
      <td>12</td>
      <td>Bob</td>
      <td>Smith</td>
      <td>9999</td>
   </tr>
   <tr>
      <td>13</td>
      <td>Lee</td>
      <td>Smith</td>
      <td>8888</td>
   </tr>
   <tr class="selected">
      <td>14</td>
      <td>JJ</td>
      <td>Wolf</td>
      <td>77777</td>
   </tr>
... etc..
</table>

Meine Anfrage:

 var nameIDs = $('table tr.selected td:first').map(function () {
                return this.value;
            }).get().join(',');
War es hilfreich?

Lösung

Der value ist für td nicht definiert, Sie müssen es verwenden this.innerText oder this.innerHTML, Auch verwenden first-child anstatt first

Live-Demo

var nameIDs = $('table tr.selected td:first-child').map(function () {
    return this.innerText;
}).get().join(',');

Bearbeiten

Der HTML-Code ist ebenfalls ungültig, Sie haben den Abschluss verpasst </td> im zweiten td für alle Zeilen.

Ändern

<td>Smith<td>

Zu

<td>Smith</td>

Andere Tipps

Dieser Code kann Ihnen helfen

generasacodicetagpre.

Das Ergebnis ist in der Zeichenfolge generellaDicetagcode

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top