Sie werden hier vier verschiedene Dinge tun: die Schaltfläche, die modal, die jQuery und die CodeIgniter Controller/Modell Funktionen. In der Theorie werden Sie etwas wie unten tun wollen. In der Praxis werden Sie wahrscheinlich Ihre jQuery und PHP entsprechend anpassen müssen.
THE BUTTON
Die Taste wird die Daten-ID Attribut verwenden, so dass Sie die message_id speichern können Sie erwähnt. Sie werden das wahrscheinlich mit dynamischem PHP füllen.
<button type="button" id="messageButton" class="btn btn-success" title="Open Complete Message" data-id="123">Open Complete Message</button>
die modale
hier nicht viel zu erklären. Ein Klick auf den Button löst dieses Modal aus (über die jQuery unten). In der Theorie wäre das Modal standardmäßig leer. Die Nachricht/Information innerhalb des Modals wird von der jQuery/PHP-Funktionalität ausgefüllt.
<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>
DIE 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
});
DER REGLER
Dies setzt voraus, Sie haben einen Controller Nachrichten mit einer getMessages Funktion sowie ein Nachrichten-Modell mit einer Funktion namens Get Message benannt .
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);
}
}
Hoffe das hilft die Ursache. Aber bitte, posten Sie, was Sie versucht haben.
haben Sie etwas versucht? – Omi
Ja, aber fehlgeschlagen. –
aktualisieren Sie einfach Ihren Code hier – Omi