Изменение языка с помощью JSON

0

Я написал код, в котором JQuery Ajax будет вызывать JSON и на основе выбранных переключателей значения полей должны измениться. Кодекс выглядит следующим образом

   $(document).ready(function(){
   $.ajax({
    type: "POST",
    url: "test.json",
    data : "",
    dataType: "json",
    contentType : 'application/json',
    success: function (response) {
    console.log(response);
    try{
            console.log(response.lang.english.login);
            console.log(response.lang.arabic.login);

        }
        catch(Exception){
        }
    },
    error: function (jqXHR, exception) { CRDates
    alert("Error");
    }

});

и файл JSON выглядит следующим образом

  {"lang":
     {
"english":{
    "login":"Login"
},
"arabic":{
    "login":"دخول"
           }}
          and the HTML is as follows

Выберите язык:

  <input type="radio" name="radio-choice" id="Language" value="Arabic"/>
 <label for="radio-choice-1">Arabic</label>

    <input type="radio" name="radio-choice" id="Language" value="Arabic"/>
    <label for="radio-choice-4">English</label>

<div><label for="declarationNumber" style="margin-left:30px"><b>Login</div><br>

Теперь я хочу изменить язык на основе пропущенного переключателя. Я не мог получить значение переключателя. Например, если я проверяю арабский язык, он должен измениться на арабский Пожалуйста, помогите

Теги:

2 ответа

1
Лучший ответ

Вы можете использовать следующий код, чтобы получить значение переключателя

var selectedVal = "";
var selected = $("input[type='radio']:checked");
if (selected.length > 0) {
  selectedVal = selected.val();
}
  • 0
    Я получил значение переключателя, но проблема в том, где написать эту функцию? потому что значения JSON будут приходить во время загрузки страницы, но где я должен вызвать эту функцию>
  • 0
    Используйте кнопку после выбора флажка. Так что при нажатии кнопки вызывается функция
1

Вы можете попробовать что-то вроде этого:

Рабочая демонстрация

Javascript

var languages = null;

$(document).ready(function(){
    // do your ajax here and set the languages variable
languages = {"lang":
                {
                    "english":{
                        "login":"Login"
                    },
                    "arabic":{
                        "login":"دخول"
                    }
                }
            };

  $('input[name="radio-choice"]').click(function(){
    if ($(this).is(':checked')) {
        $('#login-label b').text(languages.lang[$(this).data('language')].login);
    }
  });
});

HTML:

<input type="radio" name="radio-choice" id="Language-arabic" data-language="arabic" value="Arabic"/>
<label for="radio-choice-1">Arabic</label>

<input type="radio" name="radio-choice" id="Language-english" data-language="english" value="English"/>
<label for="radio-choice-4">English</label>

<div><label for="declarationNumber" style="margin-left:30px" id="login-label"><b>Login</b></label></div>
  • 0
    Огромное спасибо, сэр, но возможно ли реализовать это, если есть несколько меток, и я попытался поставить метод ajax, но он не работает, не могли бы вы помочь?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню