首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对JPList库中的“OR”而不是“AND”进行排序

对JPList库中的“OR”而不是“AND”进行排序
EN

Stack Overflow用户
提问于 2019-01-25 17:44:39
回答 1查看 627关注 0票数 0

我正在尝试使用JPList对多个项目进行排序。目前JPList搜索类似于' AND‘(例如,对具有标签、html、php和jQuery的项目进行排序),但我想过滤掉所有包含这些标签的项目(例如,对包含html、php或jQuery的所有项目进行排序)。是否有启用此功能的选项?

或者有人知道在没有JPlist的情况下实现这一点的方法?

下面是代码(注意:这是来自JPlist的默认代码。你可以在这里查看:https://www.jplist.org/documentation/controls/checkbox-path-filter):

代码语言:javascript
复制
<h1><a href="https://jplist.org/documentation/controls/checkbox-path-filter">jPList Checkbox Path Filter Control</a></h1>

<div class="box">

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".title"
            data-group="data-group-1"
            name="name1"
            checked />
        Filter by Title
    </label>

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".views"
            data-group="data-group-1"
            name="name2" />
         Filter by Views
    </label>

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".likes"
            data-group="data-group-1"
            name="name3" />
        Filter by Likes
    </label>

</div>

<!-- content to filter -->
<div data-jplist-group="data-group-1">

    <!-- item -->
    <div data-jplist-item>
        <div class="views likes">Views value + Likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="views title">Views value + title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title likes">Title value  + likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="likes">Likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="likes">Likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="title">Title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="views title">Views value + title value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="likes">Likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="views">Views value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="likes">Likes value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="views">Views value</div>
    </div>

    <!-- item -->
    <div data-jplist-item>
        <div class="views likes">Views value + likes value</div>
    </div>
</div>

<style>
html, body{
    background: #efefef;  
    box-sizing: border-box;
    padding: 10px;
}

h1{
    text-align: center;
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 22px;
    color: #212529;
}

a{
    color: #212529;
}

a:hover{
  text-decoration: none;
}


[data-jplist-group]{
    display: flex;
    font-size: 16px;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

[data-jplist-item]{
  border-bottom: 1px dotted #ccc;
  width: 100%;
  text-align: center;
  padding: 10px 0;
  box-sizing: border-box;
}

.box{
  display: flex;
  justify-content: center;
  margin: 20px 0;
}

label{
    display: inline-block;
    margin: 0 10px;
}
</style>

<script>
jplist.init();
</script>

这是一个来自JPlist的有效代码演示:https://codepen.io/1rosehip/pen/RyYrJG

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-07 22:06:51

在复选框组的所有组中添加属性data-or="example"

例如:

代码语言:javascript
复制
<div class="box">

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".title"
            data-group="data-group-1"
            name="name1"
            data-or="example" 
            checked />
        Filter by Title
    </label>

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".views"
            data-group="data-group-1"
            name="name2" 
            data-or="example"/>
         Filter by Views
    </label>

    <!-- checkbox path filter control -->
    <label>
        <input
            type="checkbox"
            data-jplist-control="checkbox-path-filter"
            data-path=".likes"
            data-group="data-group-1"
            name="name3"
            data-or="example"/>
        Filter by Likes
    </label>

</div>

这对我很有效!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54362601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档