Ich möchte den Titel eines UI-Dialogfelds ändern, nachdem ich ein Formular in diesem UI-Dialogfeld gesendet habe. Also in der Callback-Funktion nach load
sollte ich vorschlagen, aber ich habe versucht und ohne Ergebnis gegoogelt.
Hat jemand eine Idee?
Verwenden von Dialogmethoden:
$('.selectorUsedToCreateTheDialog').dialog('option', 'title', 'My New title');
Oder direkt, obwohl hacky:
$("span.ui-dialog-title").text('My New Title');
Zum späteren Nachschlagen können Sie google mit jQuery überspringen. Die jQuery-API beantwortet Ihre Fragen die meiste Zeit. In diesem Fall ist die Seite Dialog-API . Für die Hauptbibliothek: http://api.jquery.com
Ich habe eine einfachere Lösung gefunden:
$('#clickToCreate').live('click', function() {
$('#yourDialogId')
.dialog({
title: "Set the title to Create"
})
.dialog('open');
});
$('#clickToEdit').live('click', function() {
$('#yourDialogId')
.dialog({
title: "Set the title To Edit"
})
.dialog('open');
});
Hoffentlich hilft das!
Eine Erweiterung der Hacky-Idee von Nick Craver, benutzerdefiniertes HTML in einen JQuery-Dialogtitel einzufügen:
var newtitle= '<b>HTML TITLE</b>';
$(".selectorUsedToCreateTheDialog").parent().find("span.ui-dialog-title").html(newtitle);
Ich habe versucht, das Ergebnis von Nick zu implementieren:
$('.selectorUsedToCreateTheDialog').dialog('option', 'title', 'My New title');
Aber das hat bei mir nicht geklappt, weil ich mehrere Dialoge auf einer Seite hatte. In einer solchen Situation wird der Titel nur beim ersten Mal richtig eingestellt. Der Versuch, Befehle zu heften, hat nicht funktioniert:
$("#modal_popup").html(data);
$("#modal_popup").dialog('option', 'title', 'My New Title');
$("#modal_popup").dialog({ width: 950, height: 550);
Ich habe das behoben, indem ich den Titel zu den JavaScript-Funktionsargumenten jedes Dialogfelds auf der Seite hinzugefügt habe:
function show_popup1() {
$("#modal_popup").html(data);
$("#modal_popup").dialog({ width: 950, height: 550, title: 'Popup Title of my First Dialog'});
}
function show_popup2() {
$("#modal_popup").html(data);
$("#modal_popup").dialog({ width: 950, height: 550, title: 'Popup Title of my Other Dialog'});
}
Noch besser!
jQuery( "#dialog" ).attr('title', 'Error');
jQuery( "#dialog" ).text('You forgot to enter your first name');