Имам 4 <select>-а с еднакви списъци. Искам като се избере опция от първия списък, тя да се премахва от втория, третия и четвъртия селект. Ако се избере друга позиция, тя пак да изчезва като възможност за 2-я, 3-я и 4-я селект, ама да се възстановява предишната (т.е. не става дума за remove на опцията, а за suppress/unsuppress).
Аналогично, като се избере опция от 2-я селект, тя да изчезва като възможност за 3-я и 4-я. И накрая, избирайки от 3-я селект, неговата опция да изчезва като възможност за 4-я.
Пример:
select 1: a, b, c, d
select 2: a, b, c, d
select 3: a, b, c, d
select 4: a, b, c, d
Избираме "b" от select1, тогава
select 2: a, c, d
select 3: a, c, d
select 4: a, c, d
Избираме "d" от select2, тогава
select 3: a, c
select 4: a, c
и т.н.
Както разбирате, искам потребителя да може да подреди a, b, c и d в желания ред. Естествено, става и с 4 полета radiobutton-и, ама ако стойностите са много (напр. a-z), става сложно, затова искам със select.
Въпросите ми:
- Не мога да открия event, който да се активира при избиране на опция от select. Има ли изобщо някакъв, който да ми помогне?
onchange и onselect не са за това.
- Понеже искам като премахна една опция от даден select, тя да се възстановява, когато по-преден select избере друга опция. Следователно еднократен remove не върши работа. Решението, което измислих, е в началото на функцията да възстановявам стойностите на всички option на дадения select и после да remove-на избраната. Ама става много неасоциативно - ако сменя стойностите на select-ите, трябва после внимателно да променя и функциите им.
Та въпросът е: има ли някакъв supress или active параметър на <option>, че аз не мога да открия такъв.
- Искам селектите да имат и празна опция, т.е. да не е избрано нито едно от a, b, c и d. DW в диалоговата кутийка не ми дава да сложа опция "", ама мога да го направя директно в кода. Това обаче коректно ли е? Или е по-добре да е ? Какво използвате за празна опция?
Проблеми с писане на кода нямам, не е нужно да пишете такъв само за мен
Мерси предварително!
|