Попытка записи строк таблицы, по которой щелкнули, в массив - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть таблица из моей базы данных, и я пытаюсь записать щелчковые (проверенные) строки таблицы в массив, но что-то идет не так. Кроме того, скрипт должен удалять непроверенные (непроверенные) строки из этого массива.

Тогда я должен прочитать все значения из массива.

Моя таблица с данными из базы данных 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);
        }
    }
};
...