Как выбрать запускающую кнопку внутри '.on show.bs.modal' [Bootstrap modal] - PullRequest
0 голосов
/ 08 июня 2018

enter image description here

При нажатии на значок карандаша я открываю модальное окно для редактирования метки и атрибутов поля ввода.

$("#myModal").on("show.bs.modal", function(e) {
    let someHtml = ``;
    $(this).find(".modal-body").append(someHtml);
});

Я хочу принестиHTML или некоторые значения образуют поле ввода или вокруг кнопки, которую я нажимаю, чтобы открыть модальное.Поля не могут иметь уникальные идентификаторы.

Могу ли я выбрать кнопку, по которой я нажал, чтобы открыть модальное поле внутри этого события.или есть лучший альтернативный подход, пожалуйста, укажите.

1 Ответ

0 голосов
/ 08 июня 2018

Просто запустите модальное show событие самостоятельно:

$(document).ready(() => {
    $("#myBtn").click(e => {
        console.log(e.currentTarget);// your clicked element here
        $("#myModal").modal("show");
    });
    
    
    $("#myModal").on('show.bs.modal', function (e) {
     
    });
});
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Modal Events - show.bs.modal</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" id="myBtn">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <p>The <strong>show.bs.modal</strong> event occurs when the modal is about to be shown.</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div> 
</div>

</body>
</html>

Надеюсь, это поможет

...