1

我的 JS 文件中有以下行:

   language : (div.lang && div.lang != "") ? div.lang : "en",

我只想更改以下行:

   language : (div.lang && div.lang != "") ? div.lang : "de",

或者

   language : (div.lang && div.lang != "") ? div.lang : "es",

或者

   language : (div.lang && div.lang != "") ? div.lang : "fr",

或者

   language : (div.lang && div.lang != "") ? div.lang : "la",

或者

   language : (div.lang && div.lang != "") ? div.lang : "it",

当我选择一种语言时,我想替换我的 js 文件中的行:

   <select id="type" name="type">
    <option value="en">English</option>
    <option value="de">German</option>
    <option value="es">Spanish</option>
    <option value="fr">French</option>
    <option value="la">Latin</option>
    <option value="it">Italian</option>
   </select>

但我不知道如何实现它:/有人可以帮忙吗?还有一个提示:我不想在前端更改访问者的语言。我只想更改它以使我的整个脚本使用所选语言。

更新

我的 JS 文件中有以下内容:

   // Global Var in JS (placed on top)
   var LANGUAGE = "en";
   function languageChange(){ 
   LANGUAGE = document.getElementById("selectLanguage").value;
   }

我的 HTML 文件中有以下内容:

   <p style="float:left"><input style="border:1px solid #bbb" type="submit" value="Choose language" id="submit"></p>
   <p style="float:right; padding-right:20px">
   <select id="selectLanguage" onchange="languageChange">
   <option value="en">English</option>
   <option value="de">Deutsch</option>
   <option value="es">Español</option>
   <option value="fr">Français</option>
   <option value="la">Lingua latina</option>
   <option value="it">Italiano</option>
   </select>&nbsp;<input type="submit" value="Enter" id="submit"></p>

它不起作用。

4

2 回答 2

1
var languageEnum = {
  english: "en",
  german: "de",
  spanish: "es",
  french: "fr",
  latin: "la",
  italian: "it"
};

var pageConfiguration = {
  language: languageEnum.english; // note that this could be a user preference too and you could check the browser's language
};

$(document).ready(function() {
  $("#type").change(function(){
    pageConfiguration.language = $(this).val();
  });
});

  //...
  language : (div.lang && div.lang != "") ? div.lang : pageConfiguration.language,
  //...
于 2013-07-14T13:54:14.603 回答
1
//GLOBAL
var LANGUAGE = "en"; // if english is default


//on bodyload
$("#type").change(function(){
  LANGUAGE = $(this).val();
});


//wherever you want to use it
language : (div.lang && div.lang != "") ? div.lang : LANGUAGE,

对于评论:

  1. 枚举只是浪费资源(在我看来==>顺便说一句谢谢;))
  2. 使用我的代码是基于 jquery
  3. on bodyload 可以在 domready 上放入 jquery,在 bodyload 上放入 html 等

对于纯 JS:

// HTML:

<select id="selectLanguage" onchange="languageChange">

// JS
//// Global Var in JS (placed on top)
var LANGUAGE = "en";

//// function placed anywhere
function languageChange(){
    LANGUAGE = document.getElementById("selectLanguage").value;
}

//// wherever you want to use the line
language : (div.lang && div.lang != "") ? div.lang : LANGUAGE

BTW: //onload 事件 //// Html 方式

//or
//// JQ way
$(document).ready(function{})

// etc...
于 2013-07-14T12:51:49.787 回答