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