JSFiddle - React, Tailwind, and code Playground

by ChrisStanyon

HTML

<script src="https://code.jquery.com/jquery-3.4.1.slim.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">
<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<div class="container">
  <div class="row">
    <div class="col">
    <table class="table">
      <thead>
        <tr><td>Results of your Search</td></tr>
      </thead>
      <tbody>
        <tr><td>
          <a href="#myModal" data-toggle="modal" data-name="Video 1" data-videocode="https://youtube.com/embed/ba62uuv-5Dc?rel=0&amp;showinfo=0&amp;autoplay=1&amp;autohide=1">Video 1</a>
        </td></tr>
        
        <tr><td>
          <a href="#myModal" data-toggle="modal" data-name="Video 2" data-videocode="https://youtube.com/embed/6NDYf3RZ1eY?rel=0&amp;showinfo=0&amp;autoplay=1&amp;autohide=1">Video 2</a></td></tr>
        <tr><td>
          <a href="#myModal" data-toggle="modal" data-name="Video 3" data-videocode="https://youtube.com/embed/57jEMZ87ND8?rel=0&amp;showinfo=0&amp;autoplay=1&amp;autohide=1">Video 3</a>
        </td></tr>
      </tbody>
      </table>
    </div>
  </div>
</div>

<!-- Modal -->
<div id="myModal" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title"></h4>
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
      </div>
      <div class="modal-body">
        <iframe class="embed-responsive-item" src="" frameborder="0"  width="100%" height="315" allowfullscreen></iframe>
      </div>
    </div>
  </div>
</div>

CSS

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

JavaScript

$('.modal').on('hidden.bs.modal', function(e) {
  $(this).find('iframe').prop('src', '');
});

$('.modal').on('show.bs.modal', function (e) {
  var trigger = $(e.relatedTarget)
  $(this).find('.modal-title').text( trigger.data('name') )
  $(this).find('.modal-body iframe').prop('src', trigger.data('videocode') );
})