所以我试图创建一个从数组中获取type_name的变量。
这是我的阵列。
var customIcons = {
ItemI: {
icon: 'http://...'
type_name: 'East'
},
ItemII: {
icon: 'http://...'
type_name: 'West'
},
ItemIII: {
icon: 'https:...'
type_name: 'North'
},
question: {
icon: 'https:...'
type_name: 'South'
}
}
这是我想要创建的变量。我知道php正确传递,但我不知道为什么它没有从数组中获取相应的type_name:
var buttonText= customIcons[<?php echo $type; ?>].type_name;
当我尝试使用变量时,我得到一个无法读取属性'type_name'的undefined。
真诚感谢您的帮助!非常感谢。
答案 0 :(得分:1)
您需要将其重写为
var buttonText= customIcons['<?php echo $type; ?>'].type_name;
查看' '
周围的<?php ?>
,否则将其解析为js变量
答案 1 :(得分:0)
我想你忘记了引号。
var buttonText= customIcons['<?php echo $type; ?>'].type_name;
答案 2 :(得分:0)
我不了解PHP,但这里出了什么问题
你的JSON:你的逗号丢失了
var customIcons = {
item1: {
icon: 'http://...',
type_name: 'East'
},
item2: {
icon: 'http://...',
type_name: 'West'
},
item3: {
icon: 'https:...',
type_name: 'North'
},
question: {
icon: 'https:...',
type_name: 'South'
}
};
console.log(customIcons.item1.icon);
然后你的JSON结构不理想
应该是
var customIcons = [
{
id:"item1",
icon: 'http://...',
type_name: 'East'
},
{
id:"item2",
icon: 'http://...',
type_name: 'West'
},
item: {
id:"item3",
icon: 'https:...',
type_name: 'North'
},
{
id:"item4",
icon: 'https:...',
type_name: 'South'
}
]
Then you can parse this easily using for loop