Удаление не выделенных строк таблицы и сохранение

нужно чтобы при нажатии кнопки, например расположенной внизу таблицы, удалялись все не выделенные чекбоксом строки. Ниже код таблицы. Так же нужно, чтобы все изменения таблицы было сохранено. Объясню как это все должно будет работать: данную форму будут открывать несколько человек, каждый из них по очереди откроет форму и в таблице нажмет соответствующий чекбокс после он должен будет сохранить форму, чтобы другие при открытии видели выделенные чекбоксы. После всех выделений последний нажмет на кнопку "Удалить Лишние" и таблица сформируется только по выделенным строкам (чекбоксам) и также сохранит файл (локально), уже как итоговый.

document.write("<h1>Форма</h1>");

FIO = [
  "",
  "Е.В. Иванов, начальник отдела",
  "А.А. Соколов, инженер 1 категории",
  "Ю.В. Сидоров, инженер 1 категории",
  "Ю.Е. Трудный, инженер 1 категории",
  "А.В. Башман, инженер 1 категории",
  "В.В. Вилов, инженер 1 категории",
  "Е.А. Петров, инженер 1 категории"
];

document.write('<table border = "1">')
for (var i = 1; i < FIO.length; i++) { // если var i=0; то появится "АВУ1", тоесть при i=1 список формируется со 2 строки

  document.write("<tr>");
  document.write("<td>");
  document.write(i);
  document.write("</td>");
  document.write("<td>");
  document.write(FIO[i]);
  document.write("</td>");
  document.write("<td>");
  document.write("<input type='checkbox'>");
  document.write("</td>");
  document.write("</tr>");
}
document.write("</table>");


Ответы (1 шт):

Автор решения: Meth0d

функция удаления невыделенных строк:

function removeRows() {
   const inputs = document.querySelectorAll('input[type="checkbox"]')
   
   inputs
       .filter(input => !input.checked)
       .forEach(input => {
           const row = input.closest('tr')
           
           row.remove()
       })
}
→ Ссылка