2016-04-07 1 views
0

Я пытаюсь установить текст на jQuery UI Dialog.Передача Umlauts в jQuery UI Dialog

При передаче текста с помощью Umlauts он отображается в теле по назначению, но в заголовке ü.

$(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

Похоже, что UI виджет использует '.text()' вместо '.html()' для заголовка, либо сознательно или как ошибка. Просто использует utf-8 'zeigeDialog (« ü »,« ü »);' опция? –

+0

@ DanielBeck: Я не знаю. Могу ли я быть уверенным, что он будет отображаться правильно во всех браузерах? – user1170330

+2

UTF-8 - кодировка по умолчанию для html5, поэтому она должна работать. Вам нужно будет убедиться, что весь ваш конвейер также поддерживает эту кодировку (если это будет храниться в базе данных, например, db также должен быть в utf-8). Большинство инструментов по умолчанию для utf-8 в наши дни, этот материал намного проще, чем раньше ... –

ответ

1

Просто создайте фиктивный элемент, установите его html, используя свой заголовок и извлеките текст. Затем использовать, чтобы установить заголовок

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

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