Фильтр листовок - я не понимаюJquery

Программирование на jquery
Ответить
Anonymous
 Фильтр листовок - я не понимаю

Сообщение Anonymous »

У меня есть карта с множеством маркеров, импортированных из geojson через ajax, и я не могу заставить работать фильтрацию.
Есть 3 флажка, и можно установить любую их комбинацию. . У каждого маркера есть свойство, называемое «типы», которое может содержать любую комбинацию из трех значений.
  • Поэтому сначала я проверяю, какие значения проверяются, и добавляю их в строка.
  • Затем я проверяю, не отмечен ли ни один из них, и если да, то все маркеры должны быть показаны.
  • Затем я проверяю, имеет ли маркер все три значения в этом случае он должен отображаться всегда (поскольку он соответствует всем значениям).
  • Наконец, я проверяю, находятся ли определенные выбранные значения на маркере. Он работает нормально, если он точно такой же, но если вариант 3 является единственным выбранным значением, а маркер имеет как вариант 2, так и вариант 3, он все равно должен отображаться.
Первая строка с == работает нормально, но как только я пробую что-то в стиле indexOf() или search(), все ломается и вообще ничего не загружается.
Я тоже пробовал работать с массивами, но раздел фильтров в брошюре не совсем хорошо описан, а javascript не является моим «родным языком»
function icefilter(json) {
var icetypeFilter = "";
$("input[name=icetype]").each(function () {
if (this.checked) {
icetypeFilter = icetypeFilter + " " + this.value;
}
});
var att = json.properties.types;
if (icetypeFilter.length == 0) {
var cond1 = true;
} else if (att == " soft scoop shake") {
var cond1 = true;
} else {
var cond1 = att == icetypeFilter;
var cond1 = att.indexOf(icetypeFilter) >= 0;
}
return cond1;
}

$("input[name=icetype]").click(function () {
clusterLayer.clearLayers();
geojsonLayer.refresh();
locationList();
});


Подробнее здесь: https://stackoverflow.com/questions/789 ... ont-get-it
Ответить

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

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

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

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

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