Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在Javascript/jQuery中使用变量作为键吗?_Javascript_Jquery - Fatal编程技术网

我可以在Javascript/jQuery中使用变量作为键吗?

我可以在Javascript/jQuery中使用变量作为键吗?,javascript,jquery,Javascript,Jquery,基本Javascript/jQuery问题:如何在键/值对中对键使用非文字?我原以为下面的语法(如下)可以解析,但事实并非如此。我正在尝试创建一个动态的对话框。我希望按钮文本是可变的。如何使用Javascript/jQuery实现这一点?还是必须在.js文件上调用PHP?(所以我不想这样做…) 使用 只能对对象文字使用字符串,若要使用表达式,必须使用方括号和赋值: buttons[expression] = value; 正如其他人所指出的,用文字对象表示法无法做到这一点 但是,与将按钮放入数

基本Javascript/jQuery问题:如何在键/值对中对键使用非文字?我原以为下面的语法(如下)可以解析,但事实并非如此。我正在尝试创建一个动态的对话框。我希望按钮文本是可变的。如何使用Javascript/jQuery实现这一点?还是必须在.js文件上调用PHP?(所以我不想这样做…)

使用


只能对对象文字使用字符串,若要使用表达式,必须使用方括号和赋值:

buttons[expression] = value;

正如其他人所指出的,用文字对象表示法无法做到这一点

但是,与将按钮放入数组相比,我认为使用标题作为键是一种不太自然的表示方式:

function see_menu_custom(t1, m1, t2, m2, t3, m3, t4, m4, t5, m5)
{   
    $(document).simpledialog2(
    { 
        mode: 'button',
        ...
        buttons :
        [
            {
                label: 'My arbitrary string value',
                click: function () { 
                    sendMessage(username, token, t1, m1);
                },
                ...
                theme : "e"
            },
        ]

括号表示法是正确的答案,但正如您似乎也在问如何传递它一样,请这样构造

function see_menu_custom(t1, m1, t2, m2, t3, m3, t4, m4, t5, m5)
{   
    var myButtons = {};
    myButtons[t1] = {
        click: function () { 
            sendMessage(username, token, t1, m1);
        },
        iconpos : "right",
        icon : "arrow-r",
        theme : "e"
    };
    // rest of buttons
    ...
    // then pass into next step
    $(document).simpledialog2(
    { 
        mode: 'button',
        headerText: 'Send Message',
        headerClose: true,
        showModal: true,
        animate: false,
        buttons : myButtons, // here
...

我应该如何在代码中使用它?像这样<代码>。。。动画:false,按钮[t1]:{click:function(){sendMessage(用户名,令牌,t1,m1);},图标:“right”,图标:“arrow-r”,主题:“e”},按钮[t2]:…在我的示例中我将如何做到这一点?jQuery的东西把我甩了。
function see_menu_custom(t1, m1, t2, m2, t3, m3, t4, m4, t5, m5)
{   
    $(document).simpledialog2(
    { 
        mode: 'button',
        ...
        buttons :
        [
            {
                label: 'My arbitrary string value',
                click: function () { 
                    sendMessage(username, token, t1, m1);
                },
                ...
                theme : "e"
            },
        ]
function see_menu_custom(t1, m1, t2, m2, t3, m3, t4, m4, t5, m5)
{   
    var myButtons = {};
    myButtons[t1] = {
        click: function () { 
            sendMessage(username, token, t1, m1);
        },
        iconpos : "right",
        icon : "arrow-r",
        theme : "e"
    };
    // rest of buttons
    ...
    // then pass into next step
    $(document).simpledialog2(
    { 
        mode: 'button',
        headerText: 'Send Message',
        headerClose: true,
        showModal: true,
        animate: false,
        buttons : myButtons, // here
...