如何在角度数据表中获取搜索框值
how to get the search box value in angular datatable?
我正在使用角度数据表插件,我想获取生成的数据表附带的搜索框的值。Angular datatable 有几个选项来制作数据表,但它们中的任何一个都允许我指定属性或我可以监视以获取特定值的内容。
由于我需要获取数据表的输入搜索值,因此我找不到实现目的的方法。
那么,如何获取角度数据表中的搜索框值呢?
不幸的是,您无法$watch
搜索词/过滤器。Angular dataTables 是使 jQuery dataTables 可以在 angular 中运行的指令,没有 DOM 冲突等,但内部仍然像往常一样工作 - 以完全没有角度的方式:)
但是,每次执行搜索/过滤器时,dataTables 都会广播一个 search
(.dt
) 事件,然后您可以直接从 DOM 中提取搜索的值:
angular.element('body').on('search.dt', function() {
var searchTerm = document.querySelector('.dataTables_filter input').value;
console.log('dataTables search : ' + searchTerm);
})
这当然是最简单的类似jQuery的方法。页面上可能有多个 dataTable,并希望为每个搜索提取更详细的信息,然后您可以在您的 angular 应用程序中使用:
angular.element('body').on('search.dt', function(e, api) {
if (!$scope.$$phase) {
$scope.$apply(function() {
$scope.searchTerm = api.oPreviousSearch;
$scope.searchTerm.table = e.target.id;
})
}
})
$apply
以便从事件处理程序内部更新$scope
。 oPreviousSearch
实际上是当前的搜索,因此上面的内容会在表单上生成一个$watch
的"可searchTerm
{
"bCaseInsensitive": true,
"sSearch": "test",
"bRegex": false,
"bSmart": true,
"_hungarianMap": {
"caseInsensitive": "bCaseInsensitive",
"search": "sSearch",
"regex": "bRegex",
"smart": "bSmart"
},
"table": "tableId"
}
请参阅演示 -> http://plnkr.co/edit/E5Tr7FrLRIVTtguQHFx9?p=preview
您可以使用 search() 函数(不带参数)获取实际的搜索值。
要更新它,请确保您:
有一个 dtInstance 和一个 dtOptions 对象:
<table datatable dt-instance="vm.dtInstance" dt-options="vm.dtOptions">
您将回调绑定到 dtOptions 中的"draw"事件:
this.dtOptions = { drawCallback: this.myCallbackFunction }
然后在您的函数中,您可以执行以下操作:
this.myCallbackFunction = () => {
let mySearchValue = this.dtInstance.DataTable.search()
}
- 如何使用jQuery按键搜索和获取json行数据
- 如何获取显示在谷歌搜索右侧的图像链接
- 在JavaScript中编译搜索后,获取链接到函数的属性标记的Element
- 在JavaScript中搜索文本并获取其所有开始和结束索引
- 如何创建一个脚本,该脚本给定网站列表,它使用其搜索功能来获取信息
- 如何将从谷歌自定义搜索API获取的数据放入复选框列表
- 如何使用Google Places Javascript API搜索附近的位置(自动从浏览器获取坐标)
- JavaScript:获取搜索文本在正文上的滚动位置
- jQuery 获取搜索选择器,如果元素不存在
- 如何在Liferay搜索组件中获取搜索按钮的ID
- 如何在角度数据表中获取搜索框值
- 如何从搜索引擎中获取搜索结果
- 如何在单击或输入时获取搜索栏中的信息.然后将其粘贴到另一页上的另一个输入中
- 点击jquery/js中的搜索按钮即可获取搜索url
- 谷歌地图API地点搜索获取搜索结果的数量
- 在type ahead中获取搜索数据的数组名
- 从索引页获取搜索位置缩放到地图页面上的位置
- 获取搜索字符串
- 从Google搜索结果URL获取搜索查询
- 使用 Node 和 Angular 从 Last.fm API 获取搜索结果