Ich habe Probleme, meine modale Fensterfunktion an einige zurückgegebene Daten zu binden. Ich benutze Cody Lindy http://swip.codylindley.com/DOMWindowDemo.html">Jquery.DomWindow Plugin.Bitte beachten Sie, dass alles einwandfrei funktioniert, außer für dieses Problem.jQuery .getJSON-Funktion muss zurückgegebene Daten erneut binden
Das Problem tritt auf, wenn die Daten zurückgegeben werden von meinem jQuery.getJSON Aufruf enthält einen Link, der das modale Fenster öffnen, sollte die Verbindung jedoch durch das DOM nicht erkannt und daher nicht durch eine Funktion gebunden
Meine jQuery-Funktion ist:..
$(".deleteThis").live("click", function(){
var $this = $(this);
$.getJSON(this.href, function(data) {
if(data.success == '1') {
$this.parent().html('<span style="background:#f1ffd6;padding:5px;">' +data.msg+'</span>');
}
else if(data.success == '2') {
$this.parent().html('<span style="background:#f1ffd6;padding:5px;">' +data.msg+'</span>');
}
else {alert("Failure (most likely our fault).");}
});
return false;
});
Das PHP-Skript, an das jQuery sendet, enthält einige Datenbankskripte (unten nicht gezeigt, da es nicht relevant ist) levant PHP-Code, der die JSON Array zurückgibt, ist dies:
if($del ==1){
$msg= "$name has been deleted. (<a href='media/delete_coll.php?cid=$cid&delete=0' class='deleteThis' >undo</a>)";
print json_encode(array("success" => 1,"msg" => $msg));
}
if($del ==0){
$msg= "$name <a href='media/editCollab.php?coll=$coll_id' class='absoluteIframeDOMWindow'>edit</a>
<a href='media/delete_coll.php?cid=$coll_id&delete=1&coll=$coll' class='deleteThis' > delete</a> |
Collaborator has restored.";
print json_encode(array("success" => 2, "msg" => $msg));
}
Das .live-Ereignis (das superUntitled verwendet) sollte mit jedem aktuellen und zukünftigen Element namens ".deleteThis" umgehen. –
Sein Problem ist nicht mit .deleteThis, sein Problem ist mit der Edit-Link mit class = 'absoluteIframeDOMWindow' - Ich nehme an, er verließ den Teil, wo er das DomWindow-Plugin aufruft, um alle Links mit dieser Klasse machen X, aber das ist wo ist sein Problem. –
Ich habe eine neue Funktion und eine neue Klasse erstellt, und es funktioniert. Ich weiß, dass ich in Zukunft damit in Schwierigkeiten kommen werde. Wenn es mehrere Instanzen der "edit | delete" -Links und möglicherweise mehrere "undo" -Links gibt, werde ich unweigerlich in die "double bind" geraten (der Inhalt in der Das modale Fenster wird zweimal aufgerufen und daher zweimal angezeigt. – superUntitled