如何在jquery-ui对话框按钮中包含转义字符?

时间:2011-07-03 02:02:22

标签: jquery-ui jquery-ui-dialog

我正在尝试将'¡'字符(¡放在HTML中)放在我的一个jQuery UI对话框按钮中,但我无法弄清楚它是如何工作的。这是我的代码:

registerhtml.dialog({
            modal: true,
            title: 'Registro en entreSartenes',
            resizable: false,
            buttons: [
                {
                    text: "¡Regístrate!",
                    click: function(){
                        $(this).dialog('close');
                        connect();
                    }
                },
                {
                    text: "No gracias",
                    click: function() {
                        $(this).dialog('close');
                    }
                }
            ]
        });

当对话框弹出时,我实际上在我的按钮中得到了"¡Regístrate!"。我也尝试将未转义的文本直接放在JS代码中(“¡Regístrate!”)但是当它显示时我会得到奇怪的字符。

有没有人知道这方面的解决方案?

3 个答案:

答案 0 :(得分:5)

由于您使用的是javascript而不是HTML,因此您需要放置实际字符,而不是HTML实体。如果您使用正确的编码(如UTF-8,但任何可以代表您需要的字符的编码应该起作用),您将能够这样做。确保您的文件是UTF-8,并且浏览器通过在HTTP标头或HTML元元素中设置编码来解释它。

答案 1 :(得分:1)

jQuery中总有一种替代方法,你可以这样做:

var text = $('<i/>').html('&iacute;').text();
alert(text); // ---> á

它会创建一个未附加的i标记,然后将字符串&iacute;评估为HTML,然后检索呈现的文本内容。

答案 2 :(得分:0)

我也发现你可以使用

\十六进制编码

运作良好

"Har hentet V\xE6rge": function() {
      $( this ).dialog( "close" );

http://www.javascripter.net/faq/accentedcharacters.htm