|
Тема
|
<select>
|
|
Автор |
vens (малко странен) |
Публикувано | 12.03.07 13:14 |
|
Имам 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 в диалоговата кутийка не ми дава да сложа опция "", ама мога да го направя директно в кода. Това обаче коректно ли е? Или е по-добре да е ? Какво използвате за празна опция?
Проблеми с писане на кода нямам, не е нужно да пишете такъв само за мен
Мерси предварително!
| |
Тема
|
Re: <select>
[re: vens]
|
|
Автор |
ghs (v.2) |
Публикувано | 12.03.07 15:35 |
|
кои са тез user-и, че толкова играчка и неща ще правиш за тях.
възможно е да се направи
| |
Тема
|
Re: <select>
[re: ghs]
|
|
Автор |
vens (малко странен) |
Публикувано | 12.03.07 16:25 |
|
Абе аз, жена ми и няколко приятели ще сме юзърите. Не е за клиент. Затова не съм задължен, ама се амбицирах да го направя по този начин.
Идеи?
| |
Тема
|
Re: <select>
[re: vens]
|
|
Автор |
ghs (v.2) |
Публикувано | 12.03.07 17:00 |
|
единственият проблем който мога да имам ако го направя е, че като се махне нещо от селекта, то при добавянето му, ще отиде най-долу. все още не съм набарал номера да го слагам там където ми трябва
| |
Тема
|
Re: <select>
[re: ghs]
|
|
Автор |
vens (малко странен) |
Публикувано | 13.03.07 12:15 |
|
Значи да разбирам, че няма ткъав номер като suppress/unsuppress?
Ок - ще го направя по неасоциативния начин.
Някакви идеи кой event може да се активира при избиране от select?
| |
Тема
|
Re: <select>
[re: vens]
|
|
Автор |
ghs (v.2) |
Публикувано | 13.03.07 12:31 |
|
onchange
следобед ще си поиграя и ще видя какво мога да направя
| |
Тема
|
Re: <select>
[re: ghs]
|
|
Автор |
vens (малко странен) |
Публикувано | 13.03.07 17:24 |
|
не си играй - аз погледнах. Не знам защо съм останал с впечатлението, че onchange се активира сао, като добавиш или махнеш option от select-a, а не, когато избереш нещо.
Видях обаче, че не съм чел каквото трябва - ще стане работата. Мерси!
| |
Тема
|
Re: <select>
[re: vens]
|
|
Автор |
ghs (v.2) |
Публикувано | 14.03.07 09:34 |
|
играх си малко вчера, но не ми остана време да го довърша, че стана късно. работи само при първото избиране, но после изгаря. днес ще го довърша.
| |
Тема
|
Re: <select>
[re: vens]
|
|
Автор |
vens (малко странен) |
Публикувано | 15.03.07 01:17 |
|
Егати и кода се получи, очаквах да е по-кратко...
Имам, обаче, един въпрос:
Следният код:
var y=document.createElement('option');
y.text = x1.options[1].text;
document.getElementById("sort2").add(y);
действа нормално
обаче ако се опитам още веднъж да add-на същия "y", т.е
var y=document.createElement('option');
y.text = x1.options[1].text;
document.getElementById("sort2").add(y);
document.getElementById("sort2").add(y);
дава грешка на второто add-ване. Т.е. "у" може само еднократно да се добавя и се губи, когато го добавим с add. И този проблем направи кода доста по-дълъг Не можах да открия информация за това в нета.
Някой може ли да ми го обясни?
| |
|
|
|
|