3 Stimmen

Weg zu überschreiben, wo jQuery-UI-Dialog platziert Dinge in Markup?

Ich versuche, einen einfachen jQuery UI-Dialog in einem ASP.Net-Projekt zu arbeiten. Ich habe einige Schaltflächen innerhalb des Dialogs <div> aber sie haben nicht zurückgeschrieben. Bei näherer Betrachtung, aus welchem Grund auch immer, als ich die <div> ein Panel, wird es im DOM so verschoben, dass es das letzte Tag vor </body> . Das wäre alles schön und gut, außer dass es auch außerhalb der <form> Tag, der benötigt wird, damit die Schaltflächen ein Postback durchführen können.

Was ist der Zweck dieses Verhaltens und wie kann ich es außer Kraft setzen?

Ein Beispiel finden Sie hier: http://jsbin.com/olumu4/

Wenn ich mir Firebug ansehe, erhalte ich jedoch Folgendes: Alt-Text http://img80.imageshack.us/img80/9049/dialog.png

3voto

Marko Punkte 69929

Dies ist ein häufiges Problem mit jQuery/ASP.NET.

Nachdem Sie Ihr Modal wie folgt zugewiesen haben

$(".modal-window").dialog({
    modal: true
});

dies tun

$(".modal-window").parent().appendTo($("form:first"));

Wenn Sie mehr als ein Modal auf einer Seite haben, habe ich festgestellt, es funktioniert nicht wie erwartet, so dass in diesem Fall, wenn Sie die Open-Methode auf dem Modal aufrufen, tun dies:

$('.modal-window').dialog('open').parent().appendTo($('form:first'));

Wenn Sie es automatisch öffnen lassen wollen. Sie können es direkt nach der Zuweisung des Modells anhängen.

$(".modal-window").dialog({
    modal: true
    }).parent().appendTo($('form:first'));

Ich hoffe, das hilft,

Marko

0voto

Matt Evanoff Punkte 966

Ich habe dieses Problem vor, eine Option ist, ein selbst auf die $(form).submit, die anhängt, was in den Dialog an das Formular ist zu installieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X