javascript - 使用文本框进行交叉过滤
问题描述
我一直在谷歌搜索,但我似乎找不到一个使用文本框交叉过滤的好例子。
我正在尝试使用交叉过滤器在数据表上添加文本框过滤。
目前遵循此代码库http://bl.ocks.org/d3noob/6077996
阅读这个 wiki 并没有多大帮助
https://github.com/square/crossfilter/wiki/API-Reference
我知道有人问了一个问题,但解决方案太短,我无法复制它
解决方案
我不确定你的项目在哪里,所以我只能为你可以进一步调查的事情提供广泛的建议。
- 在使用 crossfilter.js 过滤维度之前,您需要注册该维度。在您找到的示例中,这就是初始化 、 、 和 变量时
var magValue
所做var timeDimension
的var depthValue
事情var volumeByDay
。 - 如果您还没有,则需要在将字符插入文本框中时进行监听。这可以通过监听keyup事件的事件监听器来完成。当监听器注册一个 keyup 事件时,您可以在相应的维度上触发一个过滤器函数。
- 在 crossfilter.js 中使用该
myDimension.filter(value)
函数时,它会根据传递的参数是简单变量、数组还是函数来过滤精确值、范围或函数。在示例中,您发现这似乎由 dc.js 处理,但在 Stack Overflow 和您引用的 API 中,这是通过与预实例化维度交互来手动处理的。如果完全匹配是您想要的,那么您可以直接从您的文本框中传递内容。如果你想要更模糊的标准,你可以通过在调用时传递一个函数来使用Levenshtein distance(例如通过这个 npm 包myDimension.filter(value)
) 。
让我知道这是否对您有帮助(或没有)。如果您可以分享您当前拥有的代码,我可以更具体地解决您的问题。
推荐阅读
- r - glmnet 系数在版本之间有所不同(2.0.16 与 3.0.2)
- javascript - 使用 css 和 setInterval 向下移动文本
- python - 打开 CV 平凡圆检测——如何得到最小二乘而不是轮廓?
- r - 如何将序列写为向量?
- python - Scrapy - 每一页都被刮掉,但 scrapy 环绕并刮掉前 x 个页面
- reactjs - 可以使用带有 React 的 BrowserRouter 来处理非漂亮的 URL 吗?
- django - Django REST 框架 - 序列化器关系 User.username
- sql - 已登录 Oracle 数据库的最大用户数
- java - 结果集的输出
- java - Java for android 中的十六进制字符串到 Base64 字符串