【发布时间】:2021-07-07 20:17:33
【问题描述】:
我首先要说我不是开发人员,但我了解 JS 的最低限度......但是我无法解决一些在我看来似乎很简单(我认为是)的事情。
使用List.js 我能够配置过滤器来过滤guide-wcag.com/en/ 中的特定项目 我能够在没有找到任何内容时配置错误消息,我能够配置一些关键字和复选框也...
但我还想包括过滤项目的数量(应该出现一条消息,指示数量,因为这有助于那些没有看到内容并使用屏幕阅读器的人,例如),但我不能做吧。 . :(
带有项目数的消息应该出现在没有找到时出现消息的相同位置。
我将在这里留下我使用的 JS 的摘录(我再说一遍,我不是 JS 专家,对于任何错误的语法表示抱歉)。
谢谢
var options = {
valueNames: [ 'ribbon', 'cards-title', 'cards-content', 'principio', 'recomendacao', 'niveis', 'keywords-cards', 'keywords-all' ]
};
var listaCards = new List('cards-filter', options);
var activeFilters = [];
var noItems = $('<li class="no-results text-center text-destaque-alert" role="alert">No criteria found. Filter again.</li>');
$('.filter').change(function() {
var isChecked = this.checked;
var value = $(this).data("value");
if(isChecked) {
activeFilters.push(value);
} else {
activeFilters.splice(activeFilters.indexOf(value), 1);
}
listaCards.filter(function (item) {
if(activeFilters.length > 0) {
return(activeFilters.indexOf(item.values().niveis)) > -1;
} return true; });
});
listaCards.on('updated', function(list) {
if (list.matchingItems.length == 0) {
$(list.list).append(noItems);
} else {
noItems.detach();
}
});
【问题讨论】:
标签: javascript jquery filtering accessibility list.js