2017-03-22 9 views
-2

message_idを通じてモーダルボックスで完全なメッセージを取得するにはどうすればよいですか?IDでモーダルボックスのレコードを取得するには? (CodeIgniter)

「Open Complete Message」という名前のボタンがあります。そのボタンをクリックすると、モーダルボックスにデモコンテンツ、簡単なチュートリアルが表示されますか?それは私がそれをダイナミックにする方法を示すことができますか?

私は初心者ですが、皆さんには私に何か複雑ではない方法を教えていただければ幸いです。

ありがとうございました!

+2

何か試しましたか? – Omi

+0

はい、失敗しました。 –

+3

ここでコードを更新してください – Omi

答えて

1

ここでは、ボタン、モーダル、jQuery、およびCodeIgniterコントローラ/モデル関数の4つの別々のことが行われます。理論的には、あなたは以下のようなことをしたいと思うでしょう。実際には、jqueryとphpを適切に適合させる必要があります。

BUTTON

あなたが言及したMESSAGE_IDを保存することができるようにボタンは、データ-ID属性を使用します。おそらく動的PHPでそれを設定します。

<button type="button" id="messageButton" class="btn btn-success" title="Open Complete Message" data-id="123">Open Complete Message</button> 

THE MODAL

ここで説明するのはあまりありません。ボタンをクリックすると、このモーダルがトリガーされます(下のjQueryを介して)。理論的には、モーダルはデフォルトでは空になります。モーダル内のメッセージ/情報は、jQuery/PHPの機能によって生成されます。

<div class="modal fade" id="messageModal" tabindex="-1" role="dialog" aria-labelledby="messageLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <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="messageLabel"></h4> 
      </div> 
      <div class="modal-body"> 

      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </div> 
</div> 

jQueryの

$('#messageButton').on('click', function() { 

    var theMessageID = $(this).attr("data-id"); 
    var theURL = '/messages/getmessage/'; //adjust according to your site/setup 

    $.post(url, 
     { 
      MessageID: theMessageID, 
     }, 
     function (data, status) { 
      if (status == 'success') { 

       // loop through data 
       $.each(data, function() { 

        $('#messageLabel').text(this[1]); // message title 
        $('#messageModal .modal-body').html(this[2]); // the actual message 

       }); 

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

      } else { 
       alert('No message available'); 
      } 
     } 
    });//end post 
}); 

CONTROLLER

これはそして、getMessages機能付きコントローラという名前のメッセージだけでなく、GET_MESSAGEという名前の関数のメッセージのモデルを持っていると仮定し。

public function getmessage() 
{ 
    // double checking 
    if ($this->input->post('MessageID') && is_numeric($this->input->post('MessageID'))) { 

     $this->load->model('Messages_model'); 
     $theMessage = $this->Messages_model->get_message($this->input->post('MessageID')); 

     header('Content-Type: application/json'); 
     echo json_encode($theMessage); 
    } 
} 

これが原因であると考えられます。しかし、あなたが試したことを投稿してください。

関連する問題