我正在为手机销售商开发一个电子商务网站,我在搜索产品时会收到一些结果。无法控制或过滤服务器端的接收结果。所以我需要通过javascript或jquery在客户端完成ftering。
因此要求为用户创建一个过滤机制,以过滤掉收到的结果,以显示所需的结果。
在过滤方面,有许多过滤器类别,如操作系统,屏幕大小,处理器,RAM等。在每个过滤器类别下,将根据收到的结果提供一组选项。
最初要求是从单个过滤器类别或任意数量的过滤器类别中选择一个选项。例如选择o / s android和屏幕大小5.5。因此,隐藏其余部分时将显示所有匹配结果。
我是通过使用适当的数据填充表格行上的data- *属性来实现的。例如,Nexus 6p的结果行将具有data-os =“android”data-scree-size =“5.5”等,并且仅显示匹配的那些。
$('table tr').hide();
$('table tr[data-os="' + appliedFilterOs+ '"][data-screen-size="' + appliedFilterScrSize+ '"]').show();
但是现在要求已经改变,因此用户应该能够按多个类别中的多个选项进行过滤。例如,按O / S = Android或Windows筛选,屏幕大小= 5.5或5.7或4.8
因此,它变得复杂,如果任何人可以建议一个好的算法来做这个并有效地显示/隐藏结果,我将不胜感激。