2016-04-07 7 views
0

Ich versuche, einen Text auf jQuery UI Dialog zu setzen.Passing Umlauts zu jQuery UI Dialog

Wenn ein Text mit Umlauten übergeben wird, erscheint er im Körper wie beabsichtigt, aber im Titel als ü.

$(document).ready(function() { 
    zeigeDialog("ü", "ü"); 
}) 

function zeigeDialog(title, message) { 
    $("#dialog").dialog({ 
    modal: true, 
    title: title, 
    buttons: { 
     Ok: function() { 
     $(this).dialog('close'); 
     } 
    } 
    }); 
    $("#dialog_Text").html(message); 
} 

Here is a fiddle.

+3

aussieht, dass UI-Widget verwendet '.text()' 'statt .html()' für den Titel, entweder absichtlich oder als ein Fehler. Benutzt einfach utf-8 'zeigeDialog (" ü "," ü "); eine Option? –

+0

@DanielBeck: Ich weiß es nicht. Kann ich mir sicher sein, dass es in allen Browsern richtig angezeigt wird? – user1170330

+2

UTF-8 ist die Standardcodierung für html5, also sollte es funktionieren. Sie müssen sicherstellen, dass Ihre gesamte Pipeline diese Codierung ebenfalls unterstützt (wenn diese beispielsweise in einer Datenbank gespeichert wird, muss die Datenbank auch in utf-8 enthalten sein). Die meisten Werkzeuge sind heutzutage auf utf-8 voreingestellt, das ist viel einfacher als früher ... –

Antwort

1

Erstellen Sie einfach ein Dummy-Element, legen Sie es in HTML mit Ihrem Titel und den Text abrufen. Dann verwenden, um den Titel zu setzen

... 
title: $('<span></span>').html(title).text(), 
... 

Fiddle - https://jsfiddle.net/e7e07ajr/