22 Stimmen

Mit JavaScript einen bestimmten Zellwert aus einer HTML-Tabelle abrufen

Ich möchte jeden Zellenwert aus einer HTML-Tabelle mit JavaScript abrufen, wenn ich auf die Schaltfläche "Submit" drücke.

Wie erhält man die Werte von HTML-Tabellenzellen?

46voto

pavanred Punkte 11077

Um den Text aus dieser Zelle zu erhalten-

<table>
    <tr id="somerow">
        <td>some text</td>            
    </tr>
</table>

Sie können dies verwenden -

var Row = document.getElementById("somerow");
var Cells = Row.getElementsByTagName("td");
alert(Cells[0].innerText);

0 Stimmen

Und wie erhält man den Spalten- und Zeilennamen?

0 Stimmen

Dies funktioniert für eine kleine Tabelle, aber was ist mit meinem Anwendungsfall, wo ich eine Tabelle, die von Daten aus einer Datenbank mit PHP die Daten ist etwa 120 Zeilen jetzt aber hält täglich erhöhen bevölkert haben. Wie kann ich das implementieren?

5voto

Sudarshan Punkte 769
function Vcount() {
var modify = document.getElementById("C_name1").value;
var oTable = document.getElementById('dataTable');
var i;
var rowLength = oTable.rows.length;
for (i = 1; i < rowLength; i++) {
    var oCells = oTable.rows.item(i).cells;
    if (modify == oCells[0].firstChild.data) {
        document.getElementById("Error").innerHTML = "  * duplicate value";
        return false;
        break;
    }

}

4voto

Gnomagik Punkte 41
var table = document.getElementById("someTableID"); 
var totalRows = document.getElementById("someTableID").rows.length;
var totalCol = 3; // enter the number of columns in the table minus 1 (first column is 0 not 1)
//To display all values
for (var x = 0; x <= totalRows; x++)
  {
  for (var y = 0; y <= totalCol; y++)
    {
    alert(table.rows[x].cells[y].innerHTML;
    }
  }
//To display a single cell value enter in the row number and column number under rows and cells below:
var firstCell = table.rows[0].cells[0].innerHTML;
alert(firstCell);
//Note:  if you use <th> this will be row 0, so your data will start at row 1 col 0

0 Stimmen

Nicht "x <= totalRows", sondern "x < totalRows", da sonst die Grenzen der Tabelle überschritten werden.

2voto

Erik K. Punkte 944

Sie können auch die DOM-Methode verwenden, um den Zellwert zu erhalten: Cells[0].firstChild.data

Lesen Sie mehr dazu in meinem Beitrag unter http://js-code.blogspot.com/2009/03/how-to-change-html-table-cell-value.html

2voto

Dia Punkte 189

Sie können Zellwert mit JS erhalten, auch wenn Sie auf die Zelle klicken:

.......................

      <head>

        <title>Search students by courses/professors</title>

        <script type="text/javascript">

        function ChangeColor(tableRow, highLight)
        {
           if (highLight){
               tableRow.style.backgroundColor = '00CCCC';
           }

        else{
             tableRow.style.backgroundColor = 'white';
            }   
      }

      function DoNav(theUrl)
      {
      document.location.href = theUrl;
      }
      </script>

    </head>
    <body>

         <table id = "c" width="180" border="1" cellpadding="0" cellspacing="0">

                <% for (Course cs : courses){ %>

                <tr onmouseover="ChangeColor(this, true);" 
                    onmouseout="ChangeColor(this, false);" 
                    onclick="DoNav('http://localhost:8080/Mydata/ComplexSearch/FoundS.jsp?courseId=<%=cs.getCourseId()%>');">

                     <td name = "title" align = "center"><%= cs.getTitle() %></td>

                </tr>
               <%}%>

    ........................
    </body>

Ich habe die HTML-Tabelle in JSP geschrieben. Kurs ist ein Typ. Zum Beispiel Kurs cs, cs= Objekt des Typs Kurs, das 2 Attribute hat: id, Titel. Kurse ist eine ArrayList von Kursobjekten.

Die HTML-Tabelle zeigt alle Titel der Kurse in jeder Zelle an. Die Tabelle hat also nur 1 Spalte: Kurs1 Kurs2 Kurs3 ...... Zur Seite nehmen:

onclick="DoNav('http://localhost:8080/Mydata/ComplexSearch/FoundS.jsp?courseId=<%=cs.getCourseId()%>');"

Das bedeutet, dass nach der Auswahl einer Tabellenzelle, z. B. "Kurs2", der Titel des Kurses - "Kurs2" - auf die Seite weitergeleitet wird, zu der die URL den Benutzer führt: http://localhost:8080/Mydata/ComplexSearch/FoundS.jsp . "Kurs2" wird auf der Seite FoundS.jsp erscheinen. Der Bezeichner von "Course2" ist courseId. Um die Variable courseId zu deklarieren, in der CourseX gespeichert wird, setzen Sie ein "?" hinter die URL und daneben den Bezeichner.

Ich habe das nur für den Fall gesagt, dass ihr es benutzen wollt, denn ich habe viel danach gesucht und Fragen wie meine gefunden. Aber jetzt habe ich herausgefunden, von Lehrer, so dass ich posten, wo die Leute gefragt.

Das Beispiel funktioniert. Ich habe es gesehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X