【问题标题】:How can I filter my searchresults with multiple filters? (dropdown, keywords etc)如何使用多个过滤器过滤我的搜索结果? (下拉菜单、关键字等)
【发布时间】:2013-07-03 08:15:51
【问题描述】:

我有一个带有搜索功能的 Codeigniter 网站。我可以搜索邮政编码和关键字。现在我想在我的“搜索结果”页面上设置搜索过滤器来缩小搜索结果的范围。

我现在正在使用Fastlivefilter jquery 插件,但我想过滤多个内容。

  • 我的数据库中包含类别的下拉列表
  • 我在输入字段中键入的关键字。

我只使用下拉菜单和输入,但不能一起使用。

也许有更好的方法?以JQuery Filter() 为例?

我的搜索表单:

http://kees.een-site-bouwen.nl/vacatures

使用方法:

  • 在小输入中输入“9101”,即“邮政编码”。
  • 现在提交表单并点击“搜索过滤器”试试。

【问题讨论】:

    标签: php jquery html codeigniter filter


    【解决方案1】:

    这是我为您创建的简单示例,希望它能给您提供您正在尝试实施的想法

    考虑这个包含 ul li 结构和两个搜索字段的 html

    <ul>
        <li>bob bope</li>
       <li>bob test</li>
        <li>bob bones</li>
        <li>bob bobs</li>
        <li>test mcBridge</li>
    </ul>
    <br>
    Search: <input id="search" class="search" length="24" />
    Refine    <input id="refine" class="search" length="24" />
    

    这里是jquery,它会根据两个文本字段的值进行搜索并优化结果

    $(document).ready(function(){
        $(".search").keyup(function(){
            $("li").hide();
    
            if($("#refine").val()!=""){
            var term = $("#search").val()+" "+$("#refine").val();
            }else{
            var term =$("#search").val();
    
            }
            $("li:contains('" + term + "')").show();
    
        }); 
    
    });
    

    Try my fiddle for lower case

    Try my fiddle for upper case

    我希望这就是你要找的,为了测试在第一个字段中写 bob 然后在其他字段中写 test 你只会看到一个结果

    【讨论】:

    • 一个问题。我需要搜索确切的单词。所以大写。我尝试添加var term = $("#search").val().toLowerCase()+...,但没有成功。如何搜索小写字母?
    • 试试我的小提琴它可以根据你的需要工作,但我不知道你是如何在你的项目中实现的
    • 你的小提琴奏效了。但是在我的项目中,我有来自数据库的列表项,其中包含大写单词。大写转小写时如何搜索。
    • 你的小提琴不起作用。当我在桥上搜索时,它显示 0 个结果。但是当我搜索 Bridge 时,它​​发现 1. Refine 也不起作用。当您搜索“测试”然后使用 bob 对其进行优化时。显示 0 个。
    • 编辑:大写字母有效。但是精炼有点麻烦。如果您在第一个搜索框中插入测试,则无法细化为 bob
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多