2

jQueryを使用してWebアプリケーションを作成しています。Webアプリケーションのすべての要素は、jQuery(var $header = $("<div>");)を使用して作成されます。「no」、「en」などのサブオブジェクトがあるstringtablesというオブジェクトがすでにあります。

ページの読み込み時にデフォルトが読み込まれ、そこからの文字列がすべての要素のテキストに使用されます。すべての要素を文字列テーブルに関連付ける方法はありますか?文字列テーブルを切り替えると、Webサイト上のすべてのテキストがそれに伴って変更されますか?

ページをリロードせずにアプリケーションの言語を変更したい。

4

2 に答える 2

3

いいえ、できません。要素の内容を新しいものに変更する更新関数を手動で作成して呼び出す必要があります。

例えば:

// function to set new strings to elements' contents
function setLang(langStrings) {
  $.each(langStrings, function(elemId, elemText) { $('#'+elemId).text(elemText) });
}
// function to load language by name
function loadLang(langName) {
  $.getJSON('/lang/' + langName + '.json', setLang);
}
// loading default language
$(function() { loadLang('default') });
于 2011-06-29T16:33:30.270 に答える
2

他の種類のテクノロジーを使用することはできますか?もしそうなら、angularjsはまさにあなたが必要としているもののようです。

于 2011-06-29T16:34:17.520 に答える