Grails 无法使用可搜索插件筛选搜索结果
我一直在使用Searchable搜索用户创建的联系人。到目前为止,它运行良好。现在我想实现过滤,比如搜索那些属于买家类型的联系人。为此,用户首先必须从选择框中选择联系人类型并按姓名搜索联系人 我的问题是它会显示搜索结果,但不会按联系人类型过滤。就像我选择Contact_Type作为Buyer,name作为vim一样,它显示带有vim的搜索结果,但不过滤Contact_Type ContactController中的搜索方法:Grails 无法使用可搜索插件筛选搜索结果,grails,searchable,Grails,Searchable,我一直在使用Searchable搜索用户创建的联系人。到目前为止,它运行良好。现在我想实现过滤,比如搜索那些属于买家类型的联系人。为此,用户首先必须从选择框中选择联系人类型并按姓名搜索联系人 我的问题是它会显示搜索结果,但不会按联系人类型过滤。就像我选择Contact_Type作为Buyer,name作为vim一样,它显示带有vim的搜索结果,但不过滤Contact_Type ContactController中的搜索方法: def search = { def query = par
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的联系人,联系人类型为Buyer。当我用contact_type=Seller和name=Vim'搜索时,它仍然显示搜索结果,但不应显示此结果。有人知道怎么做吗?试试这个:.search$query$filterContact,defaultOperator:andhi@alidad,谢谢回复,但它给出了缺少字符串或闭包的查询参数错误。hi@alidad,您是否认为def filterContact=params.filter是从中获取值的正确方法。?println params是否看到您的参数如何进入您的搜索操作。hi@Alidad,输出为:q:numenta filter:Vendor