ich versuche gerade bei einem Click auf einen Link (in index.ctp) einen Dialog zu öffnen und mir Daten (view.ctp) anzuzeigen.
Mein Code dazu:
(im Controller)
- Code: Alles auswählen
- function view($id = null) {
//$this->set('title_for_layout', 'Projekt');
$this->layout = '';
$this->Project->id = $id;
$this->set('project', $this->Project->read());
}
(in index.ctp)
JavaScript:
- Code: Alles auswählen
- $(document).ready(function() {
$('.info').click(function(event){
event.preventDefault();
var $link = $(this);
$('#project-info').load($link.attr('href')).dialog({
modal: true,
autoOpen: false,
resizable: false,
draggable: false,
width: 'auto',
title: $('#project-info').attr('title'),
buttons: {
"Ok": function() {
$(this).dialog("close");
},
}
});
$('#project-info').dialog('open');
});
});
HTML:
- Code: Alles auswählen
- <div id="project-info" title="Info" style="display:none"></div>
(in view.ctp)
- Code: Alles auswählen
- <?php
echo $project['Project']['name'];
?>
Das funktioniert zwar, aber wenn ich den Dialog zwei mal hintereinander für unterschiedliche Datensätze aufrufe, flackert der Inhalt des zuvor geöffneten Dialogs auf und dann meine aktuellen Daten. Kann man das irgendwie unterbinden?
Bzw. gibt es eine andere Lösungsmöglichkeit?
Gruß,
Jens