The html is something like this:
<main class="wrapper">
<section>
<div class="card">
<div class="card-header bg-green">
<div class="dropdown">
<div class="dropbtn">
<i class="fa fa-ellipsis-v"></i>
</div>
<div class="dropdown-content">
<a href="" class="fa fa-pencil-square-o">Edit</a>
<a href="" class="fa fa-times">Delete</a>
</div>
</div>
<i class="fa fa-check-circle-o fa-white icon-lg"></i>
<h2>Line #1</h2>
<p>Available</p>
</div>
<div class="card-content">
<h3>Lorem Ipsum.</h3>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<button type="button" class="card-btn">Reserve Now!</button>
</div>
</div>
<div class="card">
<div class="card-header bg-green">
<div class="dropdown">
<div class="dropbtn">
<i class="fa fa-ellipsis-v"></i>
</div>
<div class="dropdown-content">
<a href="" class="fa fa-pencil-square-o">Edit</a>
<a href="" class="fa fa-times">Delete</a>
</div>
</div>
<i class="fa fa-check-circle-o fa-white icon-lg"></i>
<h2>Line #2</h2>
<p>Available</p>
</div>
<div class="card-content">
<h3>Lorem Ipsum.</h3>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<button type="button" class="card-btn">Reserve Now!</button>
</div>
</div>
<div class="card">
<div class="card-header bg-red">
<div class="dropdown">
<div class="dropbtn">
<i class="fa fa-ellipsis-v"></i>
</div>
<div class="dropdown-content">
<a href="" class="fa fa-pencil-square-o">Edit</a>
<a href="" class="fa fa-times">Delete</a>
</div>
</div>
<i class="fa fa-times-circle-o fa-white icon-lg"></i>
<h2>Line #3</h2>
<p>In Use</p>
</div>
<div class="card-content">
<h3>Lorem Ipsum.</h3>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<button type="button" class="card-btn">Reserve Now!</button>
</div>
</div>
<div class="card">
<div class="card-header bg-red">
<div class="dropdown">
<div class="dropbtn">
<i class="fa fa-ellipsis-v"></i>
</div>
<div class="dropdown-content">
<a href="" class="fa fa-pencil-square-o">Edit</a>
<a href="" class="fa fa-times">Delete</a>
</div>
</div>
<i class="fa fa-times-circle-o fa-white icon-lg"></i>
<h2>Line #4</h2>
<p>In Use</p>
</div>
<div class="card-content">
<h3>Lorem Ipsum.</h3>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<button type="button" class="card-btn">Reserve Now!</button>
</div>
</div>
<div class="card">
<div class="card-header bg-red">
<div class="dropdown">
<div class="dropbtn">
<i class="fa fa-ellipsis-v"></i>
</div>
<div class="dropdown-content">
<a href="" class="fa fa-pencil-square-o">Edit</a>
<a href="" class="fa fa-times">Delete</a>
</div>
</div>
<i class="fa fa-times-circle-o fa-white icon-lg"></i>
<h2>Line #5</h2>
<p>In Use</p>
</div>
<div class="card-content">
<h3>Lorem Ipsum.</h3>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<p class="card-text">Nulla vitae libero, </p>
<button type="button" class="card-btn">Reserve Now!</button>
</div>
</div>
</section>
</main>
The jquery code is something like this:
for(var i = 0; i < 5; i++){
var btnSelector = ".dropdown:eq(" + i + ") .dropbtn";
var drpSelector = ".dropdown:eq(" + i + ") .dropdown-content";
$(btnSelector).on("click", function(event){
if($(".dropdown:eq(0) .dropdown-content").is(":visible")){
$(".dropdown:eq(0) .dropdown-content").hide();
}
else{
$(".dropdown:eq(0) .dropdown-content").show();
}
});
}
which is thought to get the nth button with the class ".dropbtn", adding a function to it which shows or hides the nth dropdown-menu container with the class ".dropdown-content". Both of which are in the class ".dropdown" hence why .eq() is used on the dropdown instead of dropdown-content class. But when it is run, only the fifth dropdown-content is shown/hidden using any button. But when hardcoded, meaning something like this:
$(".dropdown:eq(0) .dropbtn").on("click", function(event){
if($(".dropdown:eq(0) .dropdown-content").css("display") == "none"){
$(".dropdown:eq(0) .dropdown-content").css("display","block");
}
else{
$(".dropdown:eq(0) .dropdown-content").css("display","none");
}
});
$(".dropdown:eq(1) .dropbtn").on("click", function(event){
if($(".dropdown:eq(1) .dropdown-content").css("display") == "none"){
$(".dropdown:eq(1) .dropdown-content").css("display","block");
}
else{
$(".dropdown:eq(1) .dropdown-content").css("display","none");
}
});
$(".dropdown:eq(2) .dropbtn").on("click", function(event){
if($(".dropdown:eq(2) .dropdown-content").css("display") == "none"){
$(".dropdown:eq(2) .dropdown-content").css("display","block");
}
else{
$(".dropdown:eq(2) .dropdown-content").css("display","none");
}
});
$(".dropdown:eq(3) .dropbtn").on("click", function(event){
if($(".dropdown:eq(3) .dropdown-content").css("display") == "none"){
$(".dropdown:eq(3) .dropdown-content").css("display","block");
}
else{
$(".dropdown:eq(3) .dropdown-content").css("display","none");
}
});
$(".dropdown:eq(4) .dropbtn").on("click", function(event){
if($(".dropdown:eq(4) .dropdown-content").css("display") == "none"){
$(".dropdown:eq(4) .dropdown-content").css("display","block");
}
else{
$(".dropdown:eq(4) .dropdown-content").css("display","none");
}
});
it is properly showing corresponding dropdowns for the specific buttons. Can I ask for help regarding how to fix this? I need this not to be hardcoded since currently it isn't sure how many dropdowns like this is needed for the site.