Wie nehmen Sie die Werte aus einer HTML-Tabelle die Zellen mit JavaScript
Ich versuche zu greifen, die Zelle Werte aus einer HTML-Tabelle, so dass ich Sie retten kann in eine MySQL-Tabelle über einen Aufruf von PHP. Ich möchte mit JavaScript statt jQuery.
Gebe ich jeder TR eine eindeutige ID auf Basis der MySQL-Tabelle, das ID-Feld. Auch jeder TD input-Zelle hat eine eindeutige ID auf Basis der MySQL-Tabelle, das ID-Feld. Nicht sicher, ob ich es brauchen, aber ich habe Sie.
Wie kann ich schnappe mir den Wert der Zelle, so dass ich übergeben Sie es an eine PHP-Prozedur(ich weiß, wie ich code das PHP), die Daten zu speichern in MySQL? Mein JavaScript-code unten, schnappt sich den "innerHTML" aber ich brauche, um zu greifen, der Wert der Zelle statt.
Zum Beispiel, wenn ich 3 Zeilen von Daten aus einer MySQL-Tabelle mit Feldern id und Menge, mit Werten unter, wie kann ich schnappe mir die "3" und die "1.99"?:
id amount
-------------
1 100.00
2 9.99
3 1.99
Hier ist ein Beispiel für die PHP - /HTML-code für die Tabelle, submit-button und onclick-Aufruf:
(dies ist eine sehr vereinfachte version meines eigentlichen code sollte aber vermitteln)
<?php
/* define mysql database connect, query and execute it returning result set into $result, id=integer primary key, is_active=tinyint(0 or 1), amount=decimal(12,2) */
/* ... */
/* output form/table */
echo "<form id='myform' name='myform' >" ;
echo "<table id='mytable' name='mytable'>" ;
while($row = mysql_fetch_array($result))
{
$id = $row['id'] ;
$amount = $row['amount'] ;
$tr_id = "tr_id_" . trim((string)$id) ;
$td_id = "td_id_" . trim((string)$id) ;
$td_amount_id = "td_amount_id_" . trim((string)$id) ;
$input_amount_id = "input_amount_id_" . trim((string)$id) ;
echo "<tr id='$tr_id' name='$tr_id'>";
echo "<td id='$td_id_account' > $id </td>" ;
echo "<td id='$td_amount_id' > <input type='text' id='$input_amount_id' value=$amount > $amount </td>" ;
echo "</tr>";
}
echo "</table>";
echo "</form>" ;
/* submit button and onclick call */
echo "<br />" ;
echo "<table>";
echo "<tr>" ;
echo "<td>";
echo "<button type='button' " . 'onclick="SubmitTableData(\'' . "mytable" .'\');"' . ">Submit</button>" ;
echo "</td>" ;
echo "</tr>";
echo "</table>";
?>
Und hier ist eine Probe meiner JavaScript-Funktion verwendet, um eine Schleife durch die Zeilen der HTML-Tabelle:
function SubmitTableData(TableID)
{
var table = document.getElementById(TableID);
for (var i = 0, row; row = table.rows[i]; i++)
{
//iterate through rows
for (var j = 0, col; col = row.cells[j]; j++)
{
//iterate through columns
alert(col.innerHTML);
}
/* call PHP procedure with row's cell values as parameters */
/* ... */
break;
}
}
Meine Augen.. das sieht furchtbar kompliziert ohne Grund
InformationsquelleAutor Elliot | 2012-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie greifen Zelle Werte aus einer Tabelle?
Update-Adresse Elliots Kommentar
Sehen wie greifen Sie die Zelle Wert (innerText-und Daten-Wert) in meine neue demo
In der Tabelle das Attribut
data-value
wird verwendet, um zu speichern einige Daten (2B, 3C,..).Mit jQuery und dem rechten Wahlschalter können Sie die Iteration über jede Zelle:
Sorry für die schlechte Formatierung.
bitte werfen Sie einen Blick auf meine neue demo-und lassen Sie mich wissen, ob dies Ihre Frage beantwortet.
Ich danke Ihnen so sehr.
Froh, dass ich helfen konnte. Wenn Sie wirklich glücklich über meine Hilfe und die Antwort finden, die nützlich, können Sie upvote die Antwort, wie gut (oh, diese süßen Punkte) 🙂
InformationsquelleAutor surfmuggle
Verwenden Sie die
innerText
Eigenschaft für dietd
. Hier ist ein fiddle, die zeigt, wie es zu benutzen.HTML
JavaScript
InformationsquelleAutor juan.facorro
Alert die innerHTML-von der ersten Zelle in der Tabelle die erste Zeile
Warnung die innerHTML-von der ersten Zelle in der Tabelle die erste Zeile
fügen Sie es in Ihre Antwort
InformationsquelleAutor Optimaz ID
Ort-IDs auf der Sie Ihre Eingaben mit einige Muster. zum Beispiel
<input type="text" id="input_0_0" name="whatever" />
wo0
ist die Zeile und die zweite0
Spalte und dann anstelle von alert-TypSollte es helfen Sie bekommen Rollen jetzt
InformationsquelleAutor Alvar FinSoft Soome