Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограничить выбор в SELECTe, нужна помощь 
V
    Опции темы
langolier
  Дата 26.8.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Есть такой селект

Код

  <select name="select" size="10" multiple="multiple" id="select">
    <option>Москва</option>
    <option>Питер</option>
    <option>Магадан</option>
    <option>Челябинск</option>
  </select>


Подскажите, как можно ограничить выбор, т.е. юзер сможет выбрать только 3 варианта??  smile 

Это сообщение отредактировал(а) langolier - 26.8.2008, 13:18
PM MAIL   Вверх
Ghirik
Дата 26.8.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 5
Всего: 20



Это не такая простая задача, как может показаться на первый взгляд. Предусмотренных методов для её решения нет, а сочинять через... не хочется.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Michael.de
Дата 26.8.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 22.3.2005
Где: Deutschland

Репутация: 4
Всего: 9



langolier, неполная информация - что должно произойти, если юзер кликнет на 4й вариант?

Ghirik, <select>...</select> можно DIVами имитировать smile
PM MAIL   Вверх
bars80080
Дата 26.8.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



а таком случае уж лучше накидать chekbox'ов и не мучаться
PM MAIL WWW   Вверх
Ghirik
Дата 26.8.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 5
Всего: 20



Цитата

Ghirik, <select>...</select> можно DIVами имитировать 


Ну, дак там кода килограмм.  smile 

langolier, посмотрите, такое не подойдет?

Добавлено через 3 минуты и 22 секунды
Нет... langolier, не смотрите...  smile  там не реально переделать под вашу задачу...


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Hades
Дата 26.8.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: 2
Всего: 37



не знаю на сколько красиво получилось, но как вариант
Код

<div id="select"></div>
    
<script type="text/javascript">
    function createSelect(index) {
        var cities = new Array('Москва', 'Питер', 'Магадан', 'Челябинск');
            
        if (index > cities.length)
            index = cities.length;
                
        var options = '<select size="10" multiple="multiple" id="select">';
        for (var i = 0; i < index; ++i)
            options += '<option>' + cities[i] + '</option>';
                
        options += '</select>';
        document.getElementById('select').outerHTML = options;
    }
        
    createSelect(3);
</script>
    
<br />
<br />
<button onclick="createSelect(3);"> &nbsp;&nbsp;3&nbsp;&nbsp; </button>
<button onclick="createSelect(4);"> &nbsp;&nbsp;4&nbsp;&nbsp; </button>

PM MAIL   Вверх
langolier
Дата 26.8.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



хммм... что-то последний вариант я не понял совсем...

В общем как я представляю себе решение:
есть большой список, где-то 50 городов.. юзер может выбрать только три... три любых города...
выделение происходит с зажатой кнопкой ctrl
при попытке выделить чётвёртый ему показываем окошко "можно выбрать только 3 города"... либо вообще ничего не показывать, а не давать выделить этот 4-й город.
затея с чекбоксами не рулит  smile , многовато их получиться...
PM MAIL   Вверх
bars80080
Дата 26.8.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(langolier @  26.8.2008,  19:47 Найти цитируемый пост)
затея с чекбоксами не рулит   , многовато их получиться

засунь в див с overflow-y:scroll , получишь тот же multiple select
PM MAIL WWW   Вверх
langolier
Дата 26.8.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



а как ограничить выбор до 3-х чекбоксов?
PM MAIL   Вверх
bars80080
Дата 26.8.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Код

<html><body>
<script>
function check1(x) {
    var div = document.getElementById('qw');
    var elm = div.getElementsByTagName('input');
    var elml = elm.length;
    for(i = 0, j = 0; i < elml; i++) {
        if(elm[i].checked) j++;
    }
    if(j > 3) { x.checked = false; alert('нельзя выбрать больше трёх городов'); }
}
</script>
<div id="qw" style="width: 50px; height: 200px; overflow-y: scroll;">
<input type="checkbox" name="box1" onclick="check1(this);" />1
<input type="checkbox" name="box2" onclick="check1(this);" />2
<input type="checkbox" name="box3" onclick="check1(this);" />3
<input type="checkbox" name="box4" onclick="check1(this);" />4
<input type="checkbox" name="box5" onclick="check1(this);" />5
<input type="checkbox" name="box6" onclick="check1(this);" />6
</div>
</body></html>

PM MAIL WWW   Вверх
langolier
Дата 26.8.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



СПАСИБО, bars80080!!!!
Вопрос решён  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.