【发布时间】:2017-04-17 17:19:55
【问题描述】:
我尝试使用 html 和 javascript 创建一个多语言网站。 为了选择语言,我创建了三个单选框(值:en、de、fr)。 应该显示的单词存储在 javascript 对象中。
代码如下:
$('#lang-setting').on('change', function () {
var lang = $('input:checked', '#lang-setting').val();
console.log(lang);
alert(lang);
$('#latitude-n').html(lang.latitude);
$('#longitude-n').html(lang.longitude);
$('#accuracy-n').html(lang.accuracy);
$('#words-n').html(lang.words);
$('#map-n').html(lang.map);
$('#test').html(de.test);
});
每次我选择一种语言时,alert(lang) 和 console.log 都会给出正确的语言。
但是:其他词没有改变。如果我用 f.e. 替换“lang”,他们会这样做。 'de'(见最后一行代码)。
【问题讨论】:
-
lang 是一个字符串,所以 lang.latitude 是未定义的。如果你在 window 中创建了一个名为 de 的全局对象并带有翻译,你需要做的是 window[lang].latitude,如果 lang === 'de' 则计算为 de.latitude
-
任何要显示的 HTML?你的对象看起来怎么样?
-
@RokoC.Buljan 应该是单选框。感谢提及
标签: javascript jquery html object