web-dev-qa-db-ja.com

javascript onClickを使用したBootstrapモーダルの表示

onClick=""または同様の関数を使用して、Twitter bootstrapモーダルウィンドウを開くことができる必要があります。 onClick=""に入るコードが必要です。クリック可能なdivを作成して、モーダルを開きます。

コードの抜粋:

部門コード:

<div class="span4 proj-div" onClick="open('GSCCModal');">

モーダルDivコード:

<div id="GSCCModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

Javascript:

function open(x){
    $(x).modal('show');
}
28
Snappawapa

Onclickは必要ありません。 Bootstrap 3を使用していると仮定します Bootstrap 3 Documentation

<div class="span4 proj-div" data-toggle="modal" data-target="#GSCCModal">Clickable content, graphics, whatever</div>

<div id="GSCCModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;  </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Bootstrap 2を使用している場合は、次のマークアップに従ってください: http://getbootstrap.com/2.3.2/javascript.html#modals

38
BriAnna

リスト内のアイテムに基づいてモーダルのタイトルと本文を設定するonClickオプションを探していました。 T145の回答は大いに役立ったので、使用方法を共有したいと思いました。

競合を避けるために、JavaScript関数を含むタグがtext/javascriptタイプであることを確認してください。

<script type="text/javascript"> function showMyModalSetTitle(myTitle, myBodyHtml) {

   /*
    * '#myModayTitle' and '#myModalBody' refer to the 'id' of the HTML tags in
    * the modal HTML code that hold the title and body respectively. These id's
    * can be named anything, just make sure they are added as necessary.
    *
    */

   $('#myModalTitle').html(myTitle);
   $('#myModalBody').html(myBodyHtml);

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

この関数は、ボタンなどの要素内からonClickメソッドで呼び出すことができます。

<button type="button" onClick="javascript:showMyModalSetTitle('Some Title', 'Some body txt')"> Click Me! </button>
13
Ash

最初に、実行したい内容を保持するJavaScript関数を作成する必要があります。

function print() { console.log("Hello World!") }

そして、その関数は要素内からonClickメソッドで呼び出す必要があります。

<a onClick="print()"> ... </a>

モーダルインタラクションの詳細については、次のBootstrap 3ドキュメントを参照してください。 http://getbootstrap.com/javascript/#modals

モーダルバインドも正しくありません。 「myModal」=要素のIDであるこのようなものでなければなりません:

$('#myModal').modal(options)

つまり、既に持っているものを本当に保持したい場合は、GSCCModalの前に「#」を付けて、それが機能するかどうかを確認します。

また、onClickをdiv要素にバインドすることはあまり賢明ではありません。ボタンのようなものがより適しています。

お役に立てれば!

0
T145

私は同じ問題を抱えていました。多くのことを研究した後、私は最終的にjs関数を作成して、要件に基づいてモーダルを動的に作成しました。この関数を使用すると、次のようなポップアップを1行で作成できます。

puyModal({title:'Test Title',heading:'Heading',message:'This is sample message.'})

または、iframe、ビデオポップアップなど、他の複雑な機能を使用できます。

それを見つける https://github.com/aybhalala/puymodals デモについては、 http://pateladitya.com/puymodals/

0
Adi.P