Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function generateReport() {
- let checkboxElements = document.querySelectorAll('input[type=checkbox]');
- checkboxElements = Array.from(checkboxElements);
- let checkedIndexes = checkboxElements.map(el => el.checked === true ? checkboxElements.indexOf(el) : null);
- checkedIndexes = checkedIndexes.filter(el => el !== null);
- console.log(checkedIndexes);
- let trElements = document.querySelectorAll('tr');
- trElements = Array.from(trElements);
- let arrOfKeys = [];
- let arrOfObjects = [];
- for (let i = 0; i < trElements.length; i++) {
- if (i > 0) {
- let obj = {};
- let curArr = trElements[i].querySelectorAll('td');
- curArr = Array.from(curArr);
- // console.log(curArr);
- trElements[i] = curArr.filter((el, ind) => checkedIndexes.includes(ind) ? el : false);
- for (let j = 0; j < trElements[i].length; j++) {
- obj[arrOfKeys[j].textContent.trim()] = trElements[i][j].textContent;
- }
- arrOfObjects.push(obj);
- } else {
- let curArr = trElements[i].querySelectorAll('th');
- curArr = Array.from(curArr);
- arrOfKeys = curArr.filter((el, ind) => checkedIndexes.includes(ind) ? el : false);
- }
- }
- arrOfObjects = JSON.stringify(arrOfObjects);
- console.log(arrOfObjects);
- let outputElement = document.getElementById('output');
- outputElement.textContent = arrOfObjects;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement