2017-03-04 14 views
1

言語変更チェックボックスを試しました。私がタミール語を選択した場合は、ページをリロードしてからタミール語を適用することを意味します。選択ボックスの値はデフォルトのオプション英語をリロードします。周り選択ボックスの選択値の後のWebページのリロード

+0

' LangLoad(データ)を想定しますあなたが何とかそれを伝えない限り、あなたがAjaxコールバックの途中にいたことはわかりません –

答えて

1

仕事....賢明な選択ボックスの値が

HTMLコード

<select id="Language" name="Language" class="bootstrap-select buttonstyle"> 
     <option value="English">English</option> 
     <option value="Tamil">தமிழ்</option> 
    <option value="Malayalam">മലയാളം</option> 
</select> 

jQueryのコードこれを解決する方法を

$('#Language').on('change', function() { 
    var value = $(this).val(); 
    $.ajax({ 
     url: 'php/language.php', 
     data: {val:value}, 
     type: 'POST', 
     success:function (data) { 
      document.location.reload(); 
      LangLoad(data); 
     } 
    }); 
}); 


function LangLoad(value) { 
    $('#Language').val(value); 
} 

を選択した言語を変更する方法 」のdidnので、あなたのアプローチを適切にしてください。

は、あまりにも、サーバから受信したデータに頼ることがより適切だろうlocalStorage

$(document).ready(function(){ 
    var language = localStorage.getItem('language'); 
    if(language) { 
     $('#Language').val(language); 
    } 
}); 
0

からlanguage値を取得language

$('#Language').on('change', function() { 
    var value = $(this).val(); 
    $.ajax({ 
     url: 'php/language.php', 
     data: {val:value}, 
     type: 'POST', 
     success:function (data) { 
      LangLoad(data); //call this before reloading document 
      document.location.reload(); 
     } 
    }); 
}); 


function LangLoad(value) { 
    localStorage.setItem('language', value);//storing to localStorage 
    //$('#Language').val(value); //no need here 
} 

を選択し保存するためにlocalStorageの使用を検討してください。あなたはページを更新すると、呼び出されることはありません `;私はあなたのサーバーの言語php

JAVASCRIPT

$('#Language').on('change', function() { 
    $('form').submit(); 
}); 

HTML & PHPビュー

<form action="php/language.php" method="POST"> 
    <select id="Language" name="Language" class="bootstrap-select buttonstyle"> 
      <?php $html = ''; 
      foreach ($options as $option => $value) { 
       if ($value === $selectedValue) { 
        $html .= '<option value='.$value.' selected="selected">'.$option.'</option>'; 
       } else { 
        $html .= '<option value='.$value.'>'.$option.'</option>'; 
       } 
      }?> 
      <?php echo $html; ?> 
    </select> 
</form> 
関連する問題