|
|
|
| Вечер добрый.
Подскажите пожалуйста идею.
Вот у меня есть 4 переменных vA, vB,vC,vD.
В заивисимости от определенных условий (данные из формы).
Каждая из переменных может принять два значения: либо ноль (если ничего не пришло из формы), либо значение из формы.
Затем мне надо сделать проверку на отображение данных по этим переменным,
т.е.
if (vA==1&&vB==2&&vC==3&&vD==4) {действие} //это при условии что пришли все данные из формы
if (vA==1&&vB==2&&vC==3) {действие} //это пришло первые три а 4ое не пришло
|
{дейтствие} - везде одинаковое.
Не могу сообразить как все варианты то перебрать?) Не на if-ах же подобное делать, просто может (гипотетически и 30 переменных) | |
|
|
|
|
|
|
|
для: DePro
(29.03.2012 в 21:07)
| | А при чем тут JS, вы что на клиенте форму принимаете? Или о чем речь?
Если поля заполнены, то они могут иметь только эти значения: 1, 2, 3, 4, и именно в таком порядке? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 21:41)
| | да, со стороны клиента, форма фильтр. в зависимости от выбранных параметров происходит hide/show строк
нет, значения могут быть иные, возможна такая ситуация [250,0,300,0] | |
|
|
|
|
|
|
|
для: DePro
(29.03.2012 в 21:44)
| | Хорошо, и что в данном случае означает 250 и 300, как связаны эти значения с некими строками? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 21:51)
| | к примеру селекты [длина, высота, ширина]
в селекте длина option [50,100,150]
в селекте высота option [250,300,350]
в таблице в tr есть атрибут dlina и visota.
т.е.
<tr dlina="150" visota="300">
|
из формы пришло 50 и 250, значит выше указанной строке ставим hide
пришло 0 (т.е. не выбрано) и 250, значит выше указанной строке ставим hide
пришло 0 и 300, значит выше указанной строке ставим show
пришло 150 и 300, значит выше указанной строке ставим show
пришло 150 и 0, значит выше указанной строке ставим show | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 21:41)
| | я обмозговывл такой вариант:
если бы были значения только 1, или только 0, т.е. по клику "фильтр" образовывать блоки например 0011, или 0101, ну думаю понятно:)
у строк есть 4 атрибута, соответственно если собрать их тоже получатся блоки 0011 или 0101, или 1111.
А затем уже сравнивать блок из формы и блок из аттрибутов строки - совпали - show, не совпали - hide | |
|
|
|
|
|
|
|
для: DePro
(29.03.2012 в 21:50)
| | Ну превратить значения полей отличных от 0 в 1 не сложно. | |
|
|
|
|
|
|
|
для: DePro
(29.03.2012 в 21:07)
| | Если "{дейтствие} - везде одинаковое", то у вас, получается всего ДВА варианта "дейтствий":
- либо ХОТЯ БЫ ОДНА из переменных отлична от нуля, тогда вы производите своё "{дейтствие}"
- либо ВСЕ переменные равны нулю, тогда вы какое-то {иное дейтствие} производите.
Верно я вас понял?
Если верно, то проверка элементарна и укладывается в одну строку:
if (vA || vB || vC || vD) {дейтствие}
else {иное дейтствие}
|
| |
|
|
|