4

我希望能够将任何字符串传递给 JQuery UI 中的按钮文本。

假设我有这个字符串:

Ajouter L'amie a la liste "amies"

在不导致大量 JavaScript 错误的情况下实际传递此文本的唯一方法是对其进行 HTML 编码。

registerhtml.dialog({
        modal: true,
        title: 'My Dialog Title',
        resizable: false,
        buttons: [
            {
                text: 'Ajouter L'amie a la liste "amies"',
                click: function(){
                    // Do something important
                    $(this).dialog('close');
                }
            },
            {
                text: 'Cancel',
                click: function() {
                    $(this).dialog('close');
                }
            }
        ]
    });

但我没有在按钮中看到任何人类可读的文本。只有相同的编码文本。

有没有快速解决这个问题的方法?也许我在按钮对象中缺少一个选项。

或者我应该戴上手套,打电话给护士,然后在 JQuery-ui.js 文件中开始手术?

4

2 回答 2

8

为了能够使用 htmlentities,您必须html在将字符串插入按钮时使用该方法,因为text将在不进行实体编码的情况下插入文本:

registerhtml.dialog({
    modal: true,
    title: 'My Dialog Title',
    resizable: false,
    buttons: [
        {
            html: 'Ajouter L'amie a la liste "amies"',
            click: function(){
                // Do something important
                $(this).dialog('close');
            }
        },
        {
            html: 'Cancel',
            click: function() {
                $(this).dialog('close');
            }
        }
    ]
});

小提琴

于 2012-12-05T08:17:47.673 回答
0

根据您是否使用'或为您的字符串,使用 \"转义字符串中所有 ör 的'出现"

例子:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Demo</title>
        <script src="jquery-1.8.2.min.js"></script>
        <script src="jquery-ui-1.9.0.custom.min.js"></script>
        <link href="jQueryUI_css/ui-lightness/jquery-ui-1.8.24.custom.css" rel="stylesheet" />
        <script>
            $(function(){

                //using ' to define a string
                var text = 'Ajouter L\'amie a la liste "amies"'
                $('div').text(text).button();

                //using " to define a string
                var text2 = "Ajouter L'amie a la liste \"amies\"";
                $('button').text(text).button();
            });
        </script>
    </head>
    <body>
    <div></div>
    <button></button>
    </body>
</html>
于 2012-12-05T08:20:26.267 回答