[javascript] jQuery를 사용하여 부트 스트랩 모달 창을 여는 방법은 무엇입니까?

Twitter Bootstrap 모달 창 기능을 사용하고 있습니다. 누군가가 양식에서 제출을 클릭하면 양식에서 “제출 버튼”을 클릭하면 모달 창을 표시하고 싶습니다.

<form id="myform" class="form-wizard">
    <h2 class="form-wizard-heading">BootStap Wizard Form</h2>
    <input type="text" value=""/>
    <input type="submit"/>
</form>

<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="myModalLabel">Modal header</h3>
    </div>
    <div class="modal-body">
        <p>One fine body…</p>
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
        <button class="btn btn-primary">Save changes</button>
    </div>
</div>

jQuery :

$('#myform').on('submit', function(ev) {
    $('#my-modal').modal({
        show: 'false'
    });


    var data = $(this).serializeObject();
    json_data = JSON.stringify(data);
    $("#results").text(json_data);
    $(".modal-body").text(json_data);

    // $("#results").text(data);

    ev.preventDefault();
});



답변

부트 스트랩에는 모달에서 수동으로 호출 할 수있는 몇 가지 기능이 있습니다.

$('#myModal').modal('toggle');
$('#myModal').modal('show');
$('#myModal').modal('hide');

여기에서 더 많은 것을 볼 수 있습니다 : 부트 스트랩 모달 구성 요소

특히 방법 섹션 .

따라서 변경해야합니다.

$('#my-modal').modal({
    show: 'false'
}); 

에:

$('#myModal').modal('show'); 

나만의 맞춤 팝업을 만들려면 다른 커뮤니티 회원이 제안한 비디오가 있습니다.

https://www.youtube.com/watch?v=zK4nXa84Km4


답변

또한 데이터 속성을 통해 사용할 수 있습니다

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

이 특별한 경우에는 자바 스크립트를 작성할 필요가 없습니다.

더 자세한 내용은 여기를 참조하십시오 : http://getbootstrap.com/2.3.2/javascript.html#modals


답변

가장 자주 $('#myModal').modal('show');작동하지 않으면 jQuery를 두 번 포함했기 때문에 발생합니다. jQuery를 2 번 포함하면 모달이 작동하지 않습니다.

링크 중 하나를 제거하여 다시 작동 시키십시오.

또한 일부 플러그인은 오류를 발생시킵니다.이 경우 추가하십시오.

jQuery.noConflict();
$('#myModal').modal('show'); 


답변

jQuery선택기를 사용하여 모달 메소드를 호출하십시오 (매개 변수를 전달하지 않고) .

예를 들면 다음과 같습니다.

$('#modal').modal();


답변

링크의 onclick 함수를 사용하여 jQuery에 의해 모달을 호출하는 경우 “href”는 null 일 수 없습니다.

예를 들면 다음과 같습니다.

... ...
<a href="" onclick="openModal()">Open a Modal by jQuery</a>
... ...
... ...
<script type="text/javascript">

function openModal(){

    $('#myModal').modal();
}
</script>

모달이 표시되지 않습니다. 올바른 코드는 다음과 같습니다

<a href="#" onclick="openModal()">Open a Modal by jQuery</a>


답변

문서가 준비되는 즉시 부트 스트랩 경고를로드하는 방법은 다음과 같습니다. 그냥 추가하는 것은 매우 쉽습니다

 $(document).ready(function(){
   $("#myModal").modal();
});

W3Schools에 대한 데모 를 만들었습니다 .

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <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.2.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>Here is how to load a bootstrap modal as soon as the document is ready </h2>
  <!-- Trigger the modal with a 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>Some text in the modal.</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>

    </div>
  </div>

</div>

<script>
$(document).ready(function(){
   $("#myModal").modal();
});
</script>

</body>
</html>


답변

전체 솔루션을 확인하십시오 :

http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_ref_js_modal_show&stacked=h

결과를 얻으려면 라이브러리를 필수 순서로 놓아야합니다.

1- 첫 번째 bootstrap.min.css 2-jquery.min.js 3-bootstrap.min.js

즉, bootstrap.min.js 전에 jquery.min.js를 호출해야합니다.

    <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.1.1/jquery.min.js">
</script>

 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>