You'd want to add some Tasker-compatible JavaScript to the <script> portion of your HTML file. Something like so (additions are highlighted in blue):
// Create a "close" button and append it to each list item
var myNodelist = document.getElementsByTagName("LI");
var i;
for (i = 0; i < myNodelist.length; i++) {
var span = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
span.className = "close";
span.appendChild(txt);
myNodelist[i].appendChild(span);
}
getAllItems(); // Save full item list to Tasker variable
getCheckedItems(); // Save checked list to Tasker variable
// Click on a close button to hide the current list item
var close = document.getElementsByClassName("close");
var i;
for (i = 0; i < close.length; i++) {
close[i].onclick = function() {
var div = this.parentElement;
div.style.display = "none";
}
}
// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
if (ev.target.tagName === 'LI') {
ev.target.classList.toggle('checked');
getCheckedItems(); // Save revised checked list to Tasker variable
}
}, false);
// Create a new list item when clicking on the "Add" button
function newElement() {
var li = document.createElement("li");
var inputValue = document.getElementById("myInput").value;
var t = document.createTextNode(inputValue);
li.appendChild(t);
if (inputValue === '') {
alert("You must write something!");
} else {
document.getElementById("myUL").appendChild(li);
}
document.getElementById("myInput").value = "";
var span = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
span.className = "close";
span.appendChild(txt);
li.appendChild(span);
getAllItems(); // Save new item list to Tasker variable
for (i = 0; i < close.length; i++) {
close[i].onclick = function() {
var div = this.parentElement;
div.style.display = "none";
}
}
}
// Get all items, and save into Tasker variable
function getAllItems() {
var all_items = "";
/* Get all items in current list, and save to all_items */
document.querySelectorAll("#myUL li").forEach(function(elt) {
all_items += elt.childNodes[0].nodeValue + "\n";
});
/* Send all_items' value to Tasker global variable */
setGlobal("%All_Items", all_items);
}
// Get all checked items, and save into Tasker variable
function getCheckedItems() {
var checked_items = "";
document.querySelectorAll("#myUL li.checked").forEach(function(elt) {
checked_items += elt.childNodes[0].nodeValue + "\n";
});
setGlobal("%Checked_Items", checked_items);
}
This page has more information on JavaScript within Tasker, including how to set and get global (and local) Tasker variables.
Of course the HTML has a static set of tasks. If you wanted to set the list from a Tasker variable, that'd require calling the Tasker global() function to get the previously saved tasks, and then using JavaScript to populate the to-do list within the HTML and script