zerofx,
не осилил |
может так будет проще ... =))
1) когда в фильтре выставлен только 1н фильтр, а именно количество - как оно на скрине то все правильно срабатывает ... http://c2n.me/3GABbkp - всьо верно! 2) когда же фильтровать сначала по "возрасту", а затем по количеству то он показывает то же http://c2n.me/3GABihc, ето не верно... а должен показывать элементы, которые отвечают только конкретному возрасту, в нашем случае это "7", а показывает все элементы, этот блок 5 лет не должен отображаться - так как в фильтре стоит 7 надеюсь так будет понятнее :) |
zerofx,
нет не понятно, x == 7 и x <= 7 , это разные фильтры можно только один вариант, хотите иначе придумывайте алгоритм. |
Цитата:
|
Цитата:
алгоритм правильный .. а если вынести на отдельный скрипт + data_atr ? именно фильтрацию по количеству элементов? грубо, но главное чтобы работало ... или вы думаете это не вариант? |
Цитата:
|
|
Цитата:
Все таки здоровый сон многое решает ... :) Решение банально простое - но так как я себя накрутил я о нем забыл, как всегда все было под носом .. :-/ if - else - решили все!
$(document).ready(function() {
var b = $("[data-element]");
console.log(b.length);
$("select").change(function() {
var a = $("#age").val(),
d = $("#size").val(),
e = $("#parts").val(),
f = $("#paste").val(),
c = [a, d, e, f];
b.hide().filter(function(a, b) {
return $(b).data("element").every(function(b, a) {
if (a == 1) {
console.log('--1--');
return !c[a] ||(b == +b && +c[a] >= +b) || b == c[a]
}
else {
console.log('--2--');
return !c[a] || c[a] == b
}
})
}).show()
})
});
если значение возраста не равно true - то есть пустое значение (false) выполняется один фильтр, а если равно true - то есть значение возраста не пустое то выполняем другой вильтр вот и проблеме конец! :dance: :victory: я благодарю Вас за терпение и помощь =) Без Вас бы ничего не получилось ... Если можно спросить о методе "filter" - это метод js а не JQuery я правильно понял? потому что все что нашел ведет к методу each... |
|
| Часовой пояс GMT +3, время: 14:56. |