Solution 1 :

I used the JQuery toggle function like this :

$(document).ready(function(){
	      $("#searchBar").on("keyup", function() {

	         var value = $(this).val().toLowerCase();
	         console.log("value: " + value + "has been entered.");
	         console.log($('.card').filter(function(index) {
	         	$(this).toggle();
	         	if ($(this).find('.card-title').text().toLowerCase().indexOf(value) > -1) {

	         		$(this).toggle(); 
	         	};
	         	
	         }));
	         
	      });
	   });

Problem :

Let’s suppose i have a bunch of bootstrap card elements (all have the same structure, only the titles differ). Let’s suppose also that i have a user text input feild in the very top like this (Where the user will input his keywords) :

<!-----------------SOME BOOTSTRAP DEPENDENCIES FOR U TO BE ABLE TO TEST THE CODE HERE-------->

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>




<!----------------------------------------------------------------------------->
<!--   Here is the content sorry if it's in french evry function will be fine with this --->
<!----------------------------------------------------------------------------->
    <div class="container">
    	<div class="row justify-content-start">
    		<div class="col-12 my-3">
    			<input type="text" name="search" id="searchFeild" class="w-100  border rounded border-secondary">
    		</div>
    	</div>
    	<div id="cartes" class="row ">
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la première carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la deuxième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la troisième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la quatrième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4 ">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la cinquième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la sixième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la septième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    		<div class="col-4">
    			<div class="card my-5">
    				<div class="card-body">
    					<h2 class="card-title">titre de la huitième carte </h2>
    					<p class="card-text">Le contenu de la carte en question sous forme d'un bref paragraphe</p>
    					<button class="btn btn-primary">Action sur la carte</button>
    				</div>
    			</div>
    		</div>
    	</div>
    </div>

Now! How the hell to do ( I tried evry single thing) to get evrything reorganize itself proprely in my page after some of them are hidden ( By the filter search) ????????? Please help me if anybody can a little bit take a look at this.

Comments

Comment posted by Jesper Martinez

Did you used

Comment posted by Med Okl

I have suposed that the toggle function takes care of the display: none/block properties ! No?

By