如何切换具有不同内容的不同模式并同时更改按钮?

时间:2019-05-29 03:36:18

标签: javascript jquery html

我想切换不同的模型,并分别以表格形式计算结果。

我尝试避免粘贴太多模式代码,并找到示例HERE,但是它使用相同的ID,所以我被卡住了!

  

如果您单击

     

按钮A显示带有计算A的模态A。

     

按钮B显示带有计算B的模式B。

     

按钮N,它显示带有计算N的模态N。

是否可以将按钮更改为另一个按钮?或任何帮助?

非常感谢!

$('#exampleModal').on('show.bs.modal', function(event) {
  var button = $(event.relatedTarget) // Button that triggered the modal
  var recipient = button.data('whatever') // Extract info from data-* attributes
  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
  var modal = $(this)
  modal.find('.modal-title').text('Form click on ' + recipient)
  modal.find('.modal-body input').val(recipient)
 
  $("#buttonA").click(function () {
		var a = $("#amout").val();
		alert("Results: " + a);
	});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="button A">Run button A</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="button B">Run button B</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="button N">Run button ...N</button>

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Form 1-N</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form>
          Num: <input id="amout" type="number">
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary" id="buttonA">calculate</button>
      </div>
    </div>
  </div>
</div>

1 个答案:

答案 0 :(得分:0)

最快的方法是为每个要更改的按钮设置id,并在Function中更改该按钮的innerText。

HTML标签

<button id="AcceptBTN" type="button" class="btn btn-primary">Send message</button>
         ^
         |
        Here

jQuery

$('#exampleModal').on('show.bs.modal', function(event) {
  var button = $(event.relatedTarget) // Button that triggered the modal
  var recipient = button.data('whatever')
 // Extract info from data-* attributes
  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.

$('#AcceptBTN')[0].innerText = recipient;   <-----------------Here

  var modal = $(this)
  modal.find('.modal-title').text('New message to ' + recipient)
  modal.find('.modal-body input').val(recipient)
})

好运