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>

しかし、私はそれを実現する方法がわかりません:/誰かが助けることができますか? そして 1 つのヒント: フロントエンドで訪問者の言語を変更したくありません。選択した言語でスクリプト全体を表示するように変更したいだけです。

アップデート

私は私の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

ところで: //onload イベント //// Html の方法

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

// etc...
于 2013-07-14T12:51:49.787 に答える