У меня есть таблица из моей базы данных, и я пытаюсь записать щелчковые (проверенные) строки таблицы в массив, но что-то идет не так.
Кроме того, скрипт должен удалять непроверенные (непроверенные) строки из этого массива.
Тогда я должен прочитать все значения из массива.
Моя таблица с данными из базы данных SQL:
echo "<table class='table1' border=1
<tr><th>Number</th><th>Name</th><th>Temperature</th><th>ValueС</th></tr>";
for($i=0;$i<$n;$i++)
while($row = mysqli_fetch_assoc($result)) {
echo
"<tr><td>",$intID = $row['intID'],
"</td><td>",$varName = $row['varName'],
"</td><td>",$varT = $row['varT'],
"</td><td>",$varC = $row['varC'],
"</td></tr>";
}
echo "</table>";
и теперь js:
if (clickClass) table.onclick = function (e) {
if (!e) e = window.event;
var elem = e.target || e.srcElement;
var arr = [];
while (!elem.tagName || !elem.tagName.match(/td|th|table/i)) elem = elem.parentNode;
//If event tied with TD and TH element from TBODY
if (elem.parentNode.tagName == 'TR' && elem.parentNode.parentNode.tagName == 'TBODY') {
//regular expression for searching in values of attribute "class", name of the class which supports hover by click in the row
var clickClassReg = new RegExp("\\b" + clickClass + "\\b");
var row = elem.parentNode;//row which contains cell of the table where event was.
//if this row checked by style as clicked
if (row.getAttribute('clickedRow')) {
row.removeAttribute('clickedRow');//remove flag that row is clicked
row.className = row.className.replace(clickClassReg, "");//removing style for click selection
row.className += " " + hoverClass;//assigning class for row selection by mouse hovering because mouse pointer on the row at this moment and selection by click unchecked
arr.pop();
alert(JSON.stringify(arr))
}
else // row isn't hover
{
//if hover is turn on - turning it off
if (hoverClass) row.className = row.className.replace(hoverClassReg, "");
row.className += " " + clickClass;//applying hover class by click
row.setAttribute('clickedRow', true);// setting flag which means that row is clicked and hover
arr.push(row);
//arr.push("Test");
alert(JSON.stringify(arr))
//if only for last clicked row hover allowed
if (!multiple) {
var lastRowI = table.getAttribute("lastClickedRowI");
if (lastRowI !== null && lastRowI !== '' && row.sectionRowIndex != lastRowI) {
var lastRow = table.tBodies[0].rows[lastRowI];
lastRow.className = lastRow.className.replace(clickClassReg, "");
lastRow.removeAttribute('clickedRow');
}
}
//remembering index of the last clicked row
table.setAttribute("lastClickedRowI", row.sectionRowIndex);
}
}
};