Могу ли я привязать текст моих элементов HTML к объекту строк? - PullRequest
2 голосов
/ 29 июня 2011

Я делаю веб-приложение, используя jQuery. Все элементы веб-приложений создаются с использованием jQuery (var $header = $("<div>");). У меня уже есть объект с именем stringtables, где у меня есть подобъекты с именами "no", "en" и т. Д.

При загрузке страницы загружается значение по умолчанию и строки из него используются для текста во всех моих элементах. Можно ли каким-либо образом связать все элементы с таблицей строк, поэтому при переключении таблиц строк весь текст на сайте изменится вместе с ним?

Я хочу изменить язык приложения без перезагрузки страницы.

Ответы [ 2 ]

3 голосов
/ 29 июня 2011

Нет, вы не можете.Вам следует вручную создать и вызвать функцию обновления, которая изменит содержимое элементов на новые.

Например:

// 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') });
2 голосов
/ 29 июня 2011

Готовы ли вы использовать другие виды технологий? Если это так, angularjs кажется именно тем, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...