Advertisement
shady_obeyd

03.Forum

Feb 7th, 2019
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let buttons = Array.from(document.getElementsByTagName('button'));
  3.  
  4.     let submitButton = buttons[0];
  5.  
  6.     submitButton.addEventListener('click', (e) => {
  7.         e.preventDefault();
  8.  
  9.         let userInfoTokens = document.getElementsByClassName('user-info')[0].children;
  10.  
  11.         let userName = userInfoTokens[1].value;
  12.         let password = userInfoTokens[3].value;
  13.         let email = userInfoTokens[5].value;
  14.  
  15.         let topics = Array.from(document.getElementsByClassName('topics')[0].children);
  16.  
  17.         let selectedTopics = [];
  18.  
  19.         for (let i = 0; i < topics.length; i+= 2) {
  20.             let topic = topics[i];
  21.  
  22.             if(i === 0 || !topic.checked){
  23.                 continue;
  24.             }
  25.  
  26.             selectedTopics.push(topic.value);
  27.         }
  28.  
  29.         let user = {
  30.             userName : userName,
  31.             password : password,
  32.             email : email,
  33.             topics : selectedTopics
  34.         };
  35.  
  36.         let usernameTd = createTd(user.userName);
  37.         let emailTd = createTd(user.email);
  38.         let topicsTd = createTd(selectedTopics.join(' '));
  39.  
  40.         let tableRow = document.createElement('tr');
  41.  
  42.         tableRow.appendChild(usernameTd);
  43.         tableRow.appendChild(emailTd);
  44.         tableRow.appendChild(topicsTd);
  45.  
  46.         let tableBody = document.getElementsByTagName('tbody')[0];
  47.         tableBody.appendChild(tableRow);
  48.     });
  49.  
  50.     let searchButton = buttons[1];
  51.  
  52.     searchButton.addEventListener('click', () => {
  53.  
  54.         let tableBody = Array.from(document.getElementsByTagName('tbody')[0].children);
  55.  
  56.         let input = document.getElementById('exercise').children[1].value;
  57.  
  58.         for(let tableRow of tableBody){
  59.  
  60.             let rowElements = tableRow.children;
  61.  
  62.             let isVisible = false;
  63.  
  64.             for(let element of rowElements){
  65.                 if(element.textContent.includes(input)){
  66.                     isVisible = true;
  67.                     break;
  68.                 }
  69.             }
  70.  
  71.             if(isVisible){
  72.                 tableRow.style.visibility = 'visible';
  73.             }
  74.             else {
  75.                 tableRow.style.visibility = 'hidden';
  76.             }
  77.         }
  78.     });
  79.  
  80.     function createTd(textContent) {
  81.         let td = document.createElement('td');
  82.         td.textContent = textContent;
  83.  
  84.         return td;
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement