2017-03-04 116 views
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); 
} 

如何解决这个....

+0

'LangLoad(数据);'将永远不会被调用,当你刷新页面它不知道你是在ajax回调的中间,除非你以某种方式告诉它 –

回答

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 
} 

localStorage

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

获得language值这将会是依赖于从服务器接收到的数据也更相关。我假设你的服务器端语言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> 
相关问题