在SelectBox上选择值之后,网页重新加载



我被尝试了语言更改复选框。如果我选择泰米尔语的含义,则重新加载页面,则应用泰米尔语标签。但是选择"盒子值"重新加载默认选项英语。如何更改语言明智的选择框值选择

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);
}

如何解决此问题....

解决方案,因为没有正确的方法。

考虑使用localStorage存储选定的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

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

也依靠从服务器接收到的数据更为相关。我假设您的服务器语言php

javascript

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

html&amp;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>

最新更新