如何根据标准显示下拉切换引导程序中的值


How to show the value from a dropdown toggle bootstrap based on a criteria?

我有以下引导程序下拉列表。使用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>