dimanche 2 octobre 2016

persistent checkboxes, dynamic table, php javascript

I've been working on this nonstop and none of the online suggestions have worked. I have a dynamically created table that refreshes every 5 seconds. There are checkboxes on the table, if you check a box it highlights the row. When the page refreshes all checked states are lost, I need them to be saved, either by local storage or a cookie or even writing out to a file. Please help and thanks in advance.

My currently working code that does not retain the checked state:

    <HTML>
<HEAD>
<TITLE>list</TITLE>
<META name="description" content="">
<META name="keywords" content="">
<meta http-equiv="refresh" content="5" >
    <style>
.inv {
    display: none;
}

table.sortable thead {
    background-color:#999;
    color:#222222;
    font-weight: bold;
    cursor: default;
}
table.sortable tbody {
    counter-reset: sortabletablescope;
}
table.sortable thead tr::before {
    content: "";
    display: table-cell;
}
table.sortable tbody tr::before {
    content: counter(sortabletablescope);
    counter-increment: sortabletablescope;
    display: table-cell;
}
    </style>
<script src="../../sorttable.js"></script>
<script>
function toggle_highlight(inputTagReference)
{
    var is_checked = inputTagReference.checked; //true or false
    if(is_checked)
    {
        inputTagReference.parentNode.parentNode.style.backgroundColor="yellow";
    }
    else
    {
        inputTagReference.parentNode.parentNode.style.backgroundColor="";
    }
}
</script>
</HEAD>
<BODY BGCOLOR="#dddddd" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
<h1 align="center">List</h1>
<p align="center">&nbsp;</p>
<p align="center">
<?php
    echo '<div>';

    //Create file with headers


system("cmd /C makeit.bat");


    //Create html table
echo '<p align="center">&nbsp;</p>';
echo '<p align="center">&nbsp;</p>';
echo '<table class="sortable" align="center">';

$row = 0;
$handle = fopen("readylist.txt", "r");

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    if ($row == 0) {
        // this is the first line of the file
        // it contains titles of columns
        $num = count($data);
        echo "<thead>\n<tr>";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo "<th align='left' height='75' width='135'>" . $data[$c] . "</th>";
        }
        echo "<td></td>";
        echo "</tr>\n</thead>\n\n<tbody>";
    } else {
        // this handles the rest of the lines of the file
        $num = count($data);
        echo "<tr id=Row0$row>";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo "<td id=Col0$c>" . $data[$c] . "</td>";
        }
        echo "<td><input type='checkbox' name='Chk$row id=Chk$row' value='Chk$row' onclick='toggle_highlight(this)'></td>";
        echo "</tr>\n";
    }
}
fclose($handle);

echo "</tbody>\n</table>";



echo '</div>';

?>
</p>
</BODY>
</HTML>




Aucun commentaire:

Enregistrer un commentaire