Advertisement
sriyanto

script for filtering

Feb 8th, 2024
637
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(document).ready(function() {
  2.     var tableBody = $('#table-body');
  3.  
  4.     // Generate 100 rows of random data
  5.     for (var i = 0; i < 100; i++) {
  6.       var name = generateRandomName();
  7.       var age = Math.floor(Math.random() * 50) + 20; // Random age between 20 and 69
  8.       var country = generateRandomCountry();
  9.  
  10.       var row = $('<tr>');
  11.       row.append('<td>' + name + '</td>');
  12.       row.append('<td>' + age + '</td>');
  13.       row.append('<td>' + country + '</td>');
  14.  
  15.       tableBody.append(row);
  16.     }
  17.  
  18.     // Highlight row on hover
  19.     tableBody.on('mouseenter', 'tr', function() {
  20.       $(this).addClass('highlight');
  21.     }).on('mouseleave', 'tr', function() {
  22.       $(this).removeClass('highlight');
  23.     });
  24.  
  25.     // Alert cell content on click
  26.     tableBody.on('click', 'td', function() {
  27.       var cellContent = $(this).text();
  28.       alert('Cell content: ' + cellContent);
  29.     });
  30.  
  31.     // Search functionality
  32.     $('#search-input').on('keyup', function() {
  33.       var searchText = $(this).val().toLowerCase();
  34.  
  35.       tableBody.find('tr').each(function() {
  36.         var nameText = $(this).find('td:first').text().toLowerCase();
  37.         if (nameText.includes(searchText)) {
  38.           $(this).show();
  39.         } else {
  40.           $(this).hide();
  41.         }
  42.       });
  43.     });
  44.  
  45.     // Alphabetical filtering
  46.     $('#filter-alphabet').on('change', function() {
  47.       var selectedLetter = $(this).val().toLowerCase();
  48.  
  49.       tableBody.find('tr').each(function() {
  50.         var nameText = $(this).find('td:first').text().toLowerCase();
  51.         if (selectedLetter === 'all' || nameText.startsWith(selectedLetter)) {
  52.           $(this).show();
  53.         } else {
  54.           $(this).hide();
  55.         }
  56.       });
  57.     });
  58.   });
  59.  
  60.   // Function to generate a random name
  61.   function generateRandomName() {
  62.     var names = ['John', 'Alice', 'Bob', 'Emma', 'James', 'Olivia', 'William', 'Sophia', 'Michael', 'Emily'];
  63.     return names[Math.floor(Math.random() * names.length)];
  64.   }
  65.  
  66.   // Function to generate a random country
  67.   function generateRandomCountry() {
  68.     var countries = ['USA', 'Canada', 'UK', 'Australia', 'Germany', 'France', 'Japan', 'Brazil', 'China', 'India'];
  69.     return countries[Math.floor(Math.random() * countries.length)];
  70.   }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement