2016-10-09 6 views
0

私はBootsrapのドキュメントを読んで、 "トリガボタンに基づいてさまざまなモーダルコンテンツ"の例をテストしましたが、動作しません。ブートストラップモードにデータを渡す

私のページに複数のモーダルを作成しないように、どのようにデータをモーダルに渡すことができますか。ここで

は、モーダルをトリガーするボタンです:

<a class="btn btn-danger" data-toggle="modal" data-target="#deleteSubject" data-whatever="<?= $subj_id ?>" role="button" title="Delete Subject"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a> 

そして、ここではモーダルです:

<div class="modal fade" id="deleteSubject" tabindex="-1" role="dialog" aria-labelledby="deleteSubjectLabel"> 
      <div class="modal-dialog" role="document"> 
      <div class="modal-content"> 
       <form action="#" method="post"> 
        <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
        <h4 class="modal-title" id="deleteSubjectLabel">Delete Subject</h4> 
        </div> 
        <div class="modal-body"> 
        <h4>Do you want to delete this subject?</h4> 
        <input type="text" id="subjid" name="subjid"> 
        </div> 
        <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
        <button type="submit" class="btn btn-danger">Delete</button> 
        </div> 
       </form> 
      </div> 
      </div> 
     </div> 

そして、ここでは、JavaScriptです:

<script> 
     $('#deleteSubject').on('show.bs.modal', function (event) { 
      var button = $(event.relatedTarget) 
      var subjId = button.data('whatever') 
      var modal = $(this) 
      modal.find('.modal-body input').val(subjId) 
     }) 
    </script> 

私も試してみましたshow.bs.modalしかし何も起こりません。私はがalertの使用によって読み込まれているかどうかをテストするために別のスクリプトを作成しようとしましたが、それは機能します。

アイデア?

答えて

2

されるべきだと思う - それを直接ターゲットにその後、あなたは文句を言わないのいずれかを見つける必要があります。

<script> 
    $(document).ready(function(){ 
     $('#deleteSubject').on('show.bs.modal', function (event) { 
      var button = $(event.relatedTarget); 
      var subjId = button.data('whatever'); 
      $('#subjid').val(subjId); 
     }) 
    }) 
</script> 
+0

ありがとう、これは動作します! – aronccs

+0

ようこそ - 幸せになる:) – gavgrif

0

私は準備ができ、あなたの入力の名前とIDを持っているので、文書内のコードをラップする必要があり、あなたのモーダルインスタンス上$を忘れてしまった、それは$modal

<script> 
     $('#deleteSubject').on('show.bs.modal', function (event) { 
      var button = $(event.relatedTarget) 
      var subjId = button.data('whatever') 
      var $modal = $(this) 
      $modal.find('.modal-body input').val(subjId) 
     }) 
    </script> 
+0

変数名 '$ modal'のドル記号は違いはありません。あなたがdownvotedされる前にこれを削除したいかもしれません。 –

+0

私はそれを試したが、何も起こらない – aronccs

0

は、単に入力の値を設定をクリック上のイベントの際にはJavaScript/jQueryのを使用してsubjid。 ();

関連する問題