选择框我选择的选项回到顶部

问题描述

页面重定向时,我在框中选择的语言没有 出现。首先,选择任何可用的。

这是我想要做的:更改选项数据

<select id='lang' class='btn btn-xs btn-primary icons-select2'>
<?PHP
$query_lang=MysqLi_query($con,"SELECT * FROM tb_lang");
while($lang = MysqLi_fetch_assoc($query_lang)){
if ($lang['durum']==1)}
?>

<option value = "<?PHP echo $lang['lang_fix']; ?>"  data-min="_<?PHP echo $lang['lang_fix']; ?>" 
data-icon="<?PHP echo $lang['lang_flag']; ?>">
<?PHP
echo strtoupper($lang['lang_fix']);
?>
</option>

<?PHP }} ?>
</select>

<script>
$(document).ready(function () {   
  $('body').on('change','#lang',function() {
   var lang_id= $(this).val();
   window.location.replace("index.PHP?lang="+lang_id);
 });
});
</script>

解决方法

首先检索通过 GET 发送的 lang

$lang_id = $_GET['lang'];

然后根据您循环的数据进行检查

<option value = "<?php echo $lang['lang_fix']; ?>"  data-min="_<?php echo $lang['lang_fix']; ?>" data-icon="<?php echo $lang['lang_flag']; ?>" <?php if ($lang_id == $lang['lang_fix']) echo "selected"; ?>>

使您的代码如下所示,以便您要选择的选项具有必要的 selected 属性。

$lang_id = $_GET['lang'];
<select id='lang' class='btn btn-xs btn-primary icons-select2'>
<?php
$query_lang=mysqli_query($con,"SELECT * FROM tb_lang");
while($lang = mysqli_fetch_assoc($query_lang)){
if ($lang['durum']==1)}
?>

<option value = "<?php echo $lang['lang_fix']; ?>"  data-min="_<?php echo $lang['lang_fix']; ?>" data-icon="<?php echo $lang['lang_flag']; ?>" <?php if ($lang_id == $lang['lang_fix']) echo "selected"; ?>>
<?php
echo strtoupper($lang['lang_fix']);
?>
</option>

<?php }} ?>
</select>

<script>
$(document).ready(function () {   
  $('body').on('change','#lang',function() {
   var lang_id= $(this).val();
   window.location.replace("index.php?lang="+lang_id);
 });
});
</script>