Задать вопрос
@samuser
programmer

Как изменить контент при выборе языка?

<select name='lang'>
					<option value='en'>English</option>
					<option value='fr'>French</option>
					<option value='sp'>Spanish</option>
				</select>
			</div>

			<div id="fr" class="page">
				Content of page 1
			</div>
			<div id="en" class="page">
				Content of page 2
			</div>
			<div id="sp" class="page">
				Content of page 3
			</div>
  • Вопрос задан
  • 280 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
heksen
@heksen
$("select").on('change', function () {
     switch($("select option:selected").val())
     {
         case "en": $("#fr").html("content en");  break;
         case "fr": $("#en").html("content fr");  break;
         case "sp": $("#sp").html("content sp");  break;
     }
});
Ответ написан
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer
1) Нужно погеморроиться на backend - весь существующий контент страниц нужно дублировать и и перевести на другие языки
2) Добавляем ajax на сервер, в который отсылаем простой сериалайз (lang=select.val() ). На сервере принимаем lang и формируем новый контент страницы на той же разметке но с новым контентом. Ловим его в success: function(data){...} Старый контент fadeOut, remove, новый - fadeIn
Ответ написан
Комментировать
@vaskadogana
Frontend developer
Если без бекэнда, то делаешь json

var lang = {
en: {
word:  "word"
},
ru: {
word: "слово"
}
fr: {
word: "la word"
}
var choosed = 'ru';
//по клику меняешь значение
$("select").on('change', function () {
   choosed = $("select option:selected").val();
}

//функция возвращает слово
  function ChoosedLanguge(lang,choosed, word ){
       return lang[choosed][word]
}
// контент будет выглядеть так

  <div id="fr" class="page">
       ChoosedLanguge(lang,choosed, word )
    </div>
      <div id="en" class="page">
           ChoosedLanguge(lang,choosed, word )
      </div>
      <div id="sp" class="page">
           ChoosedLanguge(lang,choosed, word )
      </div>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы