JSFiddle - React, Tailwind, and code Playground

HTML

<table border="1" align="center">
<tr><td>Broj_pu</td><td>Naziv_pu</td><td>ID</td><td>Naselje</td><td>zupanija</td></tr>
<tr>
<td><input type="text" ID="broj_pu"    onkeydown="Filter(this)" /></td>
<td><input type="text" ID="naziv_pu"   onkeydown="Filter(this)" /></td>
<td><input type="text" ID="ID"         onkeydown="Filter(this)" /></td>  
<td><input type="text" ID="naselje"    onkeydown="Filter(this)" /></td>
<td><input type="text" ID="zupanija"   onkeydown="Filter(this)" /></td>   
</tr>

<tr class="row" ><td>10000</td><td>Zagreb</td><td>1</td><td>Sljeme</td><td>ZAGREBACKA</td></tr>
<tr class="row" ><td>10000</td><td>Zagreb</td><td>2</td><td>Zagreb-dio</td><td>ZAGREBACKA</td></tr>
</table>

CSS

.hide_broj_pu,
.hide_naziv_pu,
.hide_ID,
.hide_naselje,
.hide_zupanija
{display:none}

JavaScript

var filters=['hide_broj_pu','hide_naziv_pu','hide_ID','hide_naselje','hide_zupanija'];

function ExcludeRows(cls){
  
  var skipRows=[];
 
  for(i=0;i<filters.length;i++)
      if(filters[i]!=cls) skipRows.push(filters[i]);
 
  var pattern=skipRows.join('|')
 
  return pattern;
}

function Filter(srcField){
    
   var node=srcField.parentNode;
   
   var index=srcField.parentNode.cellIndex;
    //all the DATA rows
    
   var dataRows= document.getElementsByClassName("row");
    
   //ensure that dataRows do not have any filter class added already
   var kids= dataRows.length;
   
   var filter ='hide_'+srcField.id;
    
   var pattern = ExcludeRows(filter);
    
   var skipRow = new RegExp(pattern,"gi"); 

   var searchReg =new RegExp('^'+srcField.value,'gi');
    
   var replaceCls= new RegExp(filter,'gi');
   
   for(i=0; i< kids ; i++){
       //skip if already filter applied  
     
       if(dataRows[i].className.match(skipRow)) continue;
       
       //now we know which column to search 
       //remove current filter
       dataRows[i].className=dataRows[i].className.replace(replaceCls,'');
  
       if(!dataRows[i].cells[index].innerHTML.trim().match(searchReg))
          dataRows[i].className=dataRows[i].className +' '+ filter;
      
    }
         
   
    
}