Advertisement
braveheart1989

createTable

Nov 8th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function tableBuilder(selector) {
  2.     function deleteItems() {
  3.         $(this).parent().parent().remove()
  4.     }
  5.     function clearContent(selector,htmlHeading) {
  6.         ($(selector).children()).replaceWith(htmlHeading);
  7.     }
  8.     return {
  9.         createTable: function createTable(columnNames) {
  10.             let htmlHeading = $('<table>');
  11.             let tr = $('<tr>');
  12.             htmlHeading.append(tr);
  13.             for (let names of columnNames) {
  14.                 let th = $('<th>').text(names);
  15.                 th.appendTo(tr);
  16.             }
  17.             let actionTh = $('<th>');
  18.             actionTh.text('Action');
  19.             actionTh.appendTo(tr);
  20.             clearContent(selector,htmlHeading);
  21.         },
  22.         fillData: function fillData(dataRows) {
  23.             let dataRow = $('<tr>');
  24.             for (let row = 0; row < dataRows.length; row++) {
  25.                 for (let col = 0; col < dataRows[row].length; col++) {
  26.                     let td = $('<td>').text(dataRows[row][col]);
  27.                     dataRow.append(td);
  28.                 }
  29.                 let tableData = $('<td>');
  30.                 let deleteBtn = $('<button>Delete</button>').on('click',(deleteItems));
  31.                 deleteBtn.appendTo(tableData);
  32.                 dataRow.append(tableData);
  33.                 $('table').append(dataRow);
  34.                 dataRow = $('<tr>');
  35.             }
  36.         }
  37.     };
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement