无法使用可搜索插件过滤搜索结果

时间:2013-09-10 16:39:06

标签: grails searchable

我一直在使用Searchable来搜索用户创建的联系人。到目前为止,它工作正常。现在我想实现过滤,比如搜索那些是“买方”类型联系人的联系人。为此,首先用户必须从选择框中选择“联系人类型”并按名称搜索联系人。

我的问题是它显示了搜索结果,但它们未按联系人类型进行过滤。就像当我选择“Contact_Type”为“买方”并命名为“vim”时,它会显示带有vim的搜索结果,但不会对Contact_Type进行过滤。

ContactController中的搜索方法:

def search = {
    def query =  params.q
    def filterContact = params.filter

    if(query && filterContact){
        def srchResults = searchableService.search(query, filterContact)
        render(view: "list",
            model: [contactInstanceList: srchResults.results,
            contactInstanceTotal:srchResults.total])
    }
    else{
        render "not record found";
    }
}

选择框

<g:select style=" background:transparent;border:none;margin-bottom:10px;color:#787878;"  from="${com.vproc.enquiry.ContactType?.values()}"
            noSelection="['':'Search By']" value="${contactInstance?.contactType?.values()}" name="filter" />

重定向到搜索结果的JS方法:

<script type="text/javascript">
    function showContact(id){
        document.location.href ='/VProcureFinal/contact/search?q=' + $("#"+ id).val()
            + "&filter=" + $("#filter").val();
    }
</script>

假设我创建了一个名为“Vim”且contact_type为“Buyer”的联系人。当我使用contact_type =“Seller”和name =“Vim”进行搜索时,它仍会显示搜索结果,但不应显示此信息。是否有人知道如何执行此操作?

0 个答案:

没有答案