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, время: 01:36. |