Skip to content
Advertisement

Jquery click event doesn’t works with multiple buttons

I’m fetching deliveries from Mysql with PHP and When the user clicks on the Accept button I want to show a form and if the user click Revision I want to show another form. I know how to this.

The problem is when there are multiple deliveries it stops working. because we cannot have multiple id with the same name. so I added the delivery id with the id name. but it still doesn’t work.

How can I solve this?

Advertisement

Answer

You can combine .parent() and .find() to get the elements/row that you want to perform the methods toggle() and hide() on, the following is a working snippet, notice that I removed the ID and PHP code also I added a wrapping div with row class:

$(document).ready(function() {
  $('.row .review_seller-btn').click(function() {
    $(this).parent().find('.review_seller').toggle();
    $(this).parent().find('.revision_details').hide();
  });

  $('.row .revision_details-btn').click(function() {
    $(this).parent().find('.revision_details').toggle();
    $(this).parent().find('.review_seller').hide();
  });
});
.row {
  border: 1px solid #000;
  margin: 10px 0;
  padding: 10px;
  height: 200px;
}
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>

<div class="row">
    <button class="btn btn-primary w-md waves-effect waves-light mb-2 mr-3 review_seller-btn" id="accept_job_<?php echo $delivery['applicant_id']; ?>">Accept & Review Job</button>

    <button class="btn btn-light w-md waves-effect waves-light mb-2 revision_details-btn">Request Revision</button>

    <div class="review_seller mt-4" id="review_seller"  style="display: none;">
        review_seller
    </div>

    <div class="revision_details mt-4" id="revision_details" style="display: none;" >
       revision_details
    </div>
    
</div>

<div class="row">
    <button class="btn btn-primary w-md waves-effect waves-light mb-2 mr-3 review_seller-btn" id="accept_job_<?php echo $delivery['applicant_id']; ?>">Accept & Review Job</button>

    <button class="btn btn-light w-md waves-effect waves-light mb-2 revision_details-btn">Request Revision</button>

    <div class="review_seller mt-4" id="review_seller"  style="display: none;">
        review_seller
    </div>

    <div class="revision_details mt-4" id="revision_details" style="display: none;" >
       revision_details
    </div>
    
</div>
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement