Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как в SELECT (HTML) разрешить max - 3?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Как в SELECT (HTML) разрешить max - 3?
Имя
Сообщение << Старые топики   Новые топики >>
Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 15:48:19.466666   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Вот пример
<select size="11" name="lang" multiple>
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    <option>test4</option>
    <option>test5</option>
    <option>test6</option>
    </select>
Как сделать, что бы можно было выбрать максимально 3 варианта?
Post #: 1
RE: Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 16:05:33.066666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
Это смотря, что ты дальше с выбранным делать задумал. Т.е. код на php в студию (не на хтмл же ты собрался обрабатывать?:))
Post #: 2
RE: Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 16:20:57.283333   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
Напиши Javasсriрt-обработчик события оnchange, который будет проверять количество выбранных вариантов.

[UPD]
Post #: 3
RE: Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 16:27:51.403333   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
quote:

ORIGINAL: Pashkela

Это смотря, что ты дальше с выбранным делать задумал. Т.е. код на php в студию (не на хтмл же ты собрался обрабатывать?:))
ну просто записать в бд.:D

quote:

Напиши Javasсriрt-обработчик события оnchange, который будет проверять количество выбранных вариантов.
неее, я бы не додумался:D
Post #: 4
RE: Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 16:38:55.913333   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
&lt;script&gt; function foo(select) { var limit = 3; var count = 0; for(var i=0; i&lt;select.length; i++) { if(select[i].selected) { count++; if(count&gt;limit) { select[i].selected = false; } } } } &lt;/script&gt; &lt;select multiple onChange="return foo(this);"&gt; &lt;option&gt;AAA&lt;/option&gt; &lt;option&gt;BBB&lt;/option&gt; &lt;option&gt;CCC&lt;/option&gt; &lt;option&gt;DDD&lt;/option&gt; &lt;/select&gt;
Post #: 5
RE: Как в SELECT (HTML) разрешить max - 3? - 2009-03-10 17:37:46.276666   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Пока ты писал свой вариант, я написал свой. Он немного длиннее, но как-то легче воспринимается, потому что не нужно зажимать контр или шифт:

&lt;script type="text/javascript" language="javascript"&gt; function chech(num) {for(n=1;n&lt;=7;n++) &nbsp;&nbsp;&nbsp; {elem = document.getElementById(n); &nbsp;&nbsp;&nbsp; elem.style.background="#FFFFFF";} &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var presid="1"; &nbsp;&nbsp;&nbsp; var subj=document.loop; &nbsp;&nbsp;&nbsp; var language1=document.loop.lang1.value; &nbsp;&nbsp;&nbsp; var language2=document.loop.lang2.value;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var language3=document.loop.lang3.value; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (language1==num) &nbsp;&nbsp;&nbsp; {presid="0"; &nbsp;&nbsp;&nbsp; no1=subj.lang1.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(no1); &nbsp;&nbsp;&nbsp; elem.style.background="#FFFFFF"; &nbsp;&nbsp;&nbsp; subj.lang1.value="";&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; if (language2==num) &nbsp;&nbsp;&nbsp; {presid="0"; &nbsp;&nbsp;&nbsp; no2=subj.lang2.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(no2); &nbsp;&nbsp;&nbsp; elem.style.background="#FFFFFF"; &nbsp;&nbsp;&nbsp; subj.lang2.value=""; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; if (language3==num) &nbsp;&nbsp;&nbsp; {presid="0"; &nbsp;&nbsp;&nbsp; no3=subj.lang3.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(no3); &nbsp;&nbsp;&nbsp; elem.style.background="#FFFFFF"; &nbsp;&nbsp;&nbsp; subj.lang3.value=""; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (presid=="1") &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; if (language1=="") &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {subj.lang1.value=num;} &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else if(language2=="") &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {subj.lang2.value=num;} &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {subj.lang3.value=num;} &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (subj.lang1.value!="") &nbsp;&nbsp;&nbsp; {first=subj.lang1.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(first); &nbsp;&nbsp;&nbsp; elem.style.background="#c1c1c1"; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (subj.lang2.value!="") &nbsp;&nbsp;&nbsp; {second=subj.lang2.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(second); &nbsp;&nbsp;&nbsp; elem.style.background="#c1c1c1"; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (subj.lang3.value!="") &nbsp;&nbsp;&nbsp; {third=subj.lang3.value; &nbsp;&nbsp;&nbsp; elem = document.getElementById(third); &nbsp;&nbsp;&nbsp; elem.style.background="#c1c1c1"; &nbsp;&nbsp;&nbsp; } }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/script&gt; &lt;form method="POST" action="--WEBBOT-SELF--" name="loop"&gt; &nbsp;&nbsp;&nbsp; &lt;!--webbot bot="SaveResults" U-File="_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --&gt; &nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;div style="overflow:auto; width: 182px; height:130px; cursor:hand; cursor:pointer;"&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(1) id="1"&gt;1eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(2) id="2"&gt;2eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(3) id="3"&gt;3eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(4) id="4"&gt;4eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(5) id="5"&gt;5eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(6) id="6"&gt;6eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;div onclick=chech(7) id="7"&gt;7eqwdqwd&lt;/div&gt; &nbsp;&nbsp;&nbsp; &lt;/div&gt;&lt;input type="submit" value="Отправить" name="B1"&gt;&lt;input type="reset" value="Сброс" name="B2"&gt; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="lang1" value=""&gt; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="lang2" value=""&gt; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="lang3" value=""&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/p&gt; &lt;/form&gt;
…хотя это и не SELECT, но тоже вариант:)
Post #: 6
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Как в SELECT (HTML) разрешить max - 3?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.