我的网站上有一个下拉菜单,我想用它来切换不同的语言:
<select onChange="if(this.selectedIndex!=0) self.location=this.options[this.selectedIndex].value" name="userLanguage" id="userLanguage">
<option value="http://demo.com/?lang=en">
English (International)</option>
<option value="http://demo.com/?lang=es">
Español (European)</option>
</select>
如何让上面的菜单显示当前显示的语言。有没有表现出活跃的状态。网站正在使用php。
提前致谢。
答案 0 :(得分:2)
使用PHP,这是一个很好的选择。 (我改变了选择。)
<select onChange="if(this.selectedIndex!=0) self.location='http://demo.com/?lang='+this.options[this.selectedIndex].value" name="userLanguage" id="userLanguage">
<option <?php if ($_GET['lang'] == "en") { ?>selected="selected"<?php } ?> value="en">English (International)</option>
<option <?php if ($_GET['lang'] == "es") { ?>selected="selected"<?php } ?> value="es">Español (European)</option>
</select>
希望这有帮助!
答案 1 :(得分:1)
将selected =“selected”添加到您的选项中。看看:http://jsfiddle.net/tW2jm/
<option selected="selected" value="http://demo.com/?lang=en">
答案 2 :(得分:0)
您可以使用谷歌翻译工具......从长远来看,这将为您节省大量的工作。
答案 3 :(得分:0)
如果您使用的是PHP,我建议您像这样重新编写代码,因为这样您可以轻松添加新语言,而无需编写HTML代码或其他JavaScript。您可以使用 $ langs 数组来保存当前的语言集。
我还制作了包含当前页面网址的 $ server_location 变量。这样,当您将页面移动到不同的服务器和域或重命名页面时,您就不会遇到问题。
<?
$langs = array('en' => 'English (International)',
'es' => 'Español (European)'
);
function is_current_language($code)
{
return ($code == $_GET['lang'])? 'selected="selected"': "";
}
$server_location= $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
?>
<select onchange="if(this.selectedIndex!=0) self.location='<?=$server_location;?>?lang='+this.options[this.selectedIndex].value" name="userLanguage" id="userLanguage">
<? foreach($langs as $code => $lang): ?>
<option <?= is_current_language($code); ?> value="<?= $code; ?>">
<?= $lang; ?>
</option>
<? endforeach; ?>
</select>