PHP列表突出显示当前项目

时间:2014-04-25 09:58:02

标签: php html css wordpress

我有一个用PHP呈现的ul列表,我正在尝试突出显示当前所选项目。代码是标记排序jquery组合的一部分。我试图在li元素中添加一个当前类,但这只适用于默认元素" All"。

PHP-代码

if ($unique_tags_arr) {
            echo '<ul class="jquery">';
            echo '<li data-filter=".filterable">';
            echo "All";
            echo '</li>';
            foreach ($unique_tags_arr as &$value) {
                echo '<li data-filter=".'.str_replace(' ', '', $value). " " .'"> '.$value.'</li>'; 

            }
            echo '</ul>';
        }

3 个答案:

答案 0 :(得分:1)

您可以尝试使用以下css样式。

.jquery li:hover
{
    color: #000;
    background: #fff
}

答案 1 :(得分:1)

试试这个

jQuery(document).on("click", "ul.jquery > li", function() {
                    var $this = jQuery(this);
                    jQuery(".highlight").removeClass("highlight");
                    $this.addClass("highlight");
                });

然后为突出显示类

编写一个css规则

答案 2 :(得分:0)

我猜测过滤时没有页面加载,因为您的列表项具有数据过滤器属性,因此我猜它是使用jQuery。然后你应该使用gbestard建议的东西。

但是,如果有页面加载并且你正在使用PHP,就像你的标签说...你需要存储在某处的所选项目值(POST,GET等)和你存储的选择如果任何数组项具有相同的值,您需要比较的项目,如果是,只需添加类&#34;选择&#34;。

这是使用GET,因此您选择的值将在网址中。

$active = $_GET['selected_filter'];

if ($unique_tags_arr) {
    echo '<ul class="jquery">';
    echo '<li data-filter=".filterable">';
    echo "All";
    echo '</li>';
    foreach ($unique_tags_arr as &$value) {
        echo '<li data-filter="'.str_replace(' ', '', $value).'" ';
        if ($value == $active) { echo 'class="selected"'; }
        echo '> '.$value.'</li>'; 
    }
    echo '</ul>';
}

然后只为.selected类提供样式。

相关问题