Перекрестная фильтрация с несколькими категориями флажков в d3Jquery

Программирование на jquery
Ответить
Anonymous
 Перекрестная фильтрация с несколькими категориями флажков в d3

Сообщение Anonymous »

Я хотел бы отфильтровать данные на карте d3, используя две разные категории флажков: одну для «арендатора», а другую для «брокера». Я могу успешно фильтровать по любой категории по отдельности, но проблема заключается в том, чтобы заставить оба фильтра работать вместе. Например, если я повторно проверю флажок в одной категории, будут возвращены все данные для этой категории, независимо от того, что отмечено/снято в другой категории. Я хочу отфильтровать данные по нескольким категориям одновременно.
Вот мой код:

Код: Выделить всё

//"Tenant" checkboxes
top:13px">Regus



Spaces



//"Broker" checkboxes
CBRE




Colliers




//Filter by "Tenant"
d3.selectAll("#RegusCheckbox").on("change", function() {
var type = "Regus"
display = this.checked ? "inline" : "none";
d3.selectAll(".features")
.filter(function(d) { return d.properties.Tenant === type; })
.attr("display", display);
});

d3.selectAll("#SpacesCheckbox").on("change", function() {
var type = "Spaces"
display = this.checked ? "inline" : "none";
d3.selectAll(".features")
.filter(function(d) { return d.properties.Tenant === type; })
.attr("display", display);
});

//And, filter by "Broker"
d3.selectAll("#CBRECheckbox").on("change", function() {
var type = "CBRE"
display = this.checked ? "inline" : "none";
d3.selectAll(".features")
.filter(function(d) { return d.properties.Agency_Bro === type; })
.attr("display", display);
});
d3.selectAll("#ColliersCheckbox").on("change", function() {
var type = "Colliers International"
display = this.checked ? "inline" : "none";
d3.selectAll(".features")
.filter(function(d) { return d.properties.Agency_Bro === type; })
.attr("display", display);
});
Есть ли способ сохранить эту общую логику, позволяя d3 фильтровать обе эти категории одновременно?

Подробнее здесь: https://stackoverflow.com/questions/539 ... ries-in-d3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»