$(document).ready(function () { function fetchResults(sortBy = '', sortOrder = '') { let formData = $('#search-form').serialize(); formData += &sort_by=${sortBy}&sort_order=${sortOrder}; $.ajax({ type: 'POST', url: '/search_contractor', data: formData, success: function (data) { let tableBody = $('#result-table tbody'); tableBody.empty(); if (data.length === 0) { tableBody.append('No data found'); } else { data.forEach(function (row) { tableBody.append(` ${row.Contractor_Name} ${row.PMC_No} ${row.State_Name} ${row.District_Name} ${row.Block_Name} ${row.Village_Name} `); }); } }, error: function (xhr) { alert(xhr.responseJSON.error); } }); } $('#search-form input').on('keyup change', function () { fetchResults(); }); function showSortOptions(thElement, column) { let sortMenu = $('#sort-options'); let offset = $(thElement).position(); let thHeight = $(thElement).outerHeight(); sortMenu.html(` `); sortMenu.css({ display: 'block', top: offset.top + thHeight + 'px', left: offset.left + 'px' }); } $(document).click(function(event) { if (!$(event.target).closest('.sort-options, th').length) { $('#sort-options').hide(); } }); window.fetchResults = fetchResults; window.showSortOptions = showSortOptions; });