1

我有一组 PHP 语言文件,用于根据用户的语言选择向用户输出文本。我已成功将 PHP 变量传递给 javascript,并且它们可用,LANG您可以在代码中看到它正在使用中。

这是我的问题......既然如下所示的代码完美运行,为什么我不能改变这一行......

'No': { 'class' : ''}}

LANG.no: { 'class'  : ''}}

基本上我想知道为什么我可以LANG在代码的其他地方使用,但不能在上面显示的行或等效的“是”行中使用。

这是工作代码:

$.confirm({
    'title': LANG.return_to_exhibit_lobby,
'message': "<strong>"+LANG.return_to_exhibit_lobby_confirmation+"</strong>",
'buttons': {
'Yes': { 
    'class': 'special',
    'action': function(){
        window.location.href='logout.php';
    }},
'No': { 'class' : ''}}
});
4

2 回答 2

4

你可以做什么:

var params = {
    'title': LANG.return_to_exhibit_lobby,
    'message': "<strong>"+LANG.return_to_exhibit_lobby_confirmation+"</strong>",
    'buttons': {
        'Yes': { 
            'class': 'special',
            'action': function(){
                window.location.href='logout.php';
             }}
};

params.buttons[LANG.No] = { 'class' : ''};

$.confirm(params);
于 2013-04-25T16:59:35.277 回答
4

那是因为你在一个对象文字中。那里的语法规则是不同的,因为您是在声明一个结构,而不是对其进行操作。你可以这样做:

var data = {
    'title': LANG.return_to_exhibit_lobby,
    'message': "<strong>"+LANG.return_to_exhibit_lobby_confirmation+"</strong>",
    'buttons': {}
};
data.buttons[Lang.No] = { 'class' : ''}
$.confirm( data );
于 2013-04-25T17:00:40.553 回答