我试过语言更改复选框。如果我选择泰米尔语意味着然后重新加载页面然后应用泰米尔语标签。但是选择框值重新加载默认选项英文。 如何更改语言选择框值选择
HTML CODE
<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);
}
如何解决这个问题....
答案 0 :(得分:1)
解决方法因为没有正确处理你的方法。
考虑使用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
}
从language
localStorage
值
$(document).ready(function(){
var language = localStorage.getItem('language');
if(language) {
$('#Language').val(language);
}
});
答案 1 :(得分:1)
依赖从服务器收到的数据也更为相关。我假设您的服务器语言为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>