我有以下引导程序下拉列表。使用PHP我可以获得访问者所在的国家。因此,如果游客来自英国或以下未列出的任何其他国家,则必须在顶部显示英语,并将其从列表中删除。如下所示。我可以做PHP方面的工作,但javascript呢,因为这不是一个选择下拉列表,也没有selected
?
标准版本:
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">English <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="gr.html">Greek</a></li>
<li><a href="it.html">Italian</a></li>
<li><a href="cz.html">Czech</a></li>
</ul>
</li>
当来自英国的游客进来时:
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">English <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="gr.html">Greek</a></li>
<li><a href="it.html">Italian</a></li>
<li><a href="cz.html">Czech</a></li>
</ul>
</li>
以下是当希腊语输入时的HTML:
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Greek<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="en.html">English</a></li>
<li><a href="it.html">Italian</a></li>
<li><a href="cz.html">Czech</a></li>
</ul>
</li>
这应该适用于您:
<?php
$country = "Italian";
$countrys = array("en" => "English", "gr" => "Greek", "it" => "Italian", "cz" => "Czech");
$default = $countrys["en"];
?>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle"><?php echo (($key = array_search($country, $countrys)) !== FALSE ? $countrys[$key] : $country = $default); ?><b class="caret"></b></a>
<ul class="dropdown-menu">
<?php foreach(array_diff($countrys, array($country)) as $k => $v): ?>
<li><a href="<?php echo $k; ?>.html"><?php echo $v; ?></a></li>
<?php endforeach; ?>
</ul>
</li>
编辑:
如果你得到的是国家快捷方式而不是全名,只需使用这个:
<?php
$country = "gr";
$countrys = array("en" => "English", "gr" => "Greek", "it" => "Italian", "cz" => "Czech");
$default = "en";
?>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle"><?php echo (in_array($country, array_flip($countrys)) !== FALSE ? $countrys[$country] : $countrys[$country = $default]); ?><b class="caret"></b></a>
<ul class="dropdown-menu">
<?php foreach(array_diff_key($countrys, array_flip(array($country))) as $k => $v): ?>
<li><a href="<?php echo $k; ?>.html"><?php echo $v; ?></a></li>
<?php endforeach; ?>
</ul>
</li>