ElasticUI -使用ng-click触发搜索/排序
ElasticUI - Triggering search/sort with ng-click
摘自我和作者之间的一封电子邮件。我已经把它从e-mail移到了SO,希望它能让其他人受益。ElasticUI可以在这里找到
My Original Question(s)
- 我看到搜索是
eui-enabled
byquerystring.length
。我们希望通过按钮来触发搜索和排序,而不是通过按钮手表的功能。- 当搜索没有返回结果时,这有点令人困惑。而不是一个
no results found
消息,它只是返回聋(全部)结果。是否有可能在默认情况下使结果为空那还全部吗?
作者的回答
1+2 -这两种情况都有可能。在AngularJS中,记住"模型"是什么变量你使用和连接到你的UI/指令,一些东西以下几行是有意义的
<div eui-query="ejs.MatchQuery('textField', querystring)" eui-enabled="querystring.length"> <input type="text" ng-model="querystring_live" /> <input type="button" ng-click="querystring=querystring_live" /> </div> <div ng-if="!querystring.length"> No query specified </div>
注意点击时发生了什么。你也可以包装一个ng-if子句围绕您的结果,只显示结果时,查询已经指定。
当我包括这个片段时,ng-if
条件不采取("没有指定的查询"始终保持),并且在提交搜索后,结果是空白的,即使它的查询我确信应该返回结果。
作为angular的新手,一个明显的错误可能会超出我的理解。有什么明显的缺失吗?
编辑发现问题:忘记填写要运行查询的字段:eui-query="ejs.MatchQuery('post_title', querystring)"
('post_title'是ES字段)
虽然看起来你可能已经找到了答案,但我认为你上面发布的"作者回答"(我)仍然有一个错误。似乎我掉进了Angular的点问题。这应该会更好:
<div ng-init="qs_model={live:'', after_click:''}">
Debug: {{qs_model | json}}
<h3>Search</h3>
<div eui-query="ejs.MatchQuery('tweet.text', qs_model.after_click)" eui-enabled="qs_model.after_click.length">
<input type="text" ng-model="qs_model.live" />
<input type="button" ng-click="qs_model.after_click=qs_model.live" />
</div>
<div ng-if="!qs_model.after_click.length">No query specified </div>
</div>
在控制器中定义qs_model比上面演示的ng-init更简洁。
还要注意,即使eui-query被禁用(没有指定querystring), ElasticUI此时仍然会在后台执行MatchAll查询(您可以选择使用ng-if隐藏结果)。
相关文章:
- 免费的JQuery表排序插件(带搜索)
- 根据搜索项按相关性合并和排序多个JavaScript数组
- 如何固定具有粘性标题的表的大小以及排序和搜索
- 使用 Greasemonkey 修改 Craigslist 的默认搜索结果排序
- 按距离对搜索结果进行排序
- 如何在 SharePoint Online 中为内容搜索 Web 部件创建排序/筛选
- 无法使用角度智能表进行排序/过滤/搜索
- 数组排序基于纯javascript搜索文本匹配
- 使用递归搜索对对象中的数组进行排序
- 数据表上的日期范围选择器插件.可以't排序和搜索
- 使用Jquery/AJAX/Javascript搜索、排序、分页和过滤DIV
- 根据过滤器和搜索栏重新排序和隐藏图片
- 使用jQuery从单个HTML列表中进行实时搜索和排序
- 搜索和排序在JqGrid (json)中不起作用
- ElasticUI -使用ng-click触发搜索/排序
- JQGrid日期排序和搜索
- 如何使用表排序插件- jquery搜索表中的项
- 排序或搜索列表时,自定义项将消失
- 谷歌自定义搜索排序日期范围标准不工作
- JS表搜索/排序/筛选