ここでは、ボタン、モーダル、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">×</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);
}
}
これが原因であると考えられます。しかし、あなたが試したことを投稿してください。
何か試しましたか? – Omi
はい、失敗しました。 –
ここでコードを更新してください – Omi