За последние 24 часа нас посетили 21996 программистов и 1682 робота. Сейчас ищут 1658 программистов ...

Как из трех предложенных чекбоксо выделать только один?

Тема в разделе "JavaScript и AJAX", создана пользователем Ambrella, 5 апр 2008.

  1. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Подскажите плиз: у меня есть три чекбокса, нужно что бы пользователь мог выделить только один либо вообще ни одного... Как это сделать?
     
  2. Anonymous

    Anonymous Guest

    радио буттоны ? + 4 радио буттон - "против всех"
     
  3. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Нужен именно чекбокс
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ambrella
    [js]
    function oncheckboxclick(obj_chkbx)
    {
    var c1 = document.getElementById('check1');
    var c2 = document.getElementById('check1');
    var c3 = document.getElementById('check1');

    c1.checked = false;
    c2.checked = false;
    c3.checked = false;
    obj_chkbx.checked = true;
    }[/js]
    HTML:
    1.  
    2. <input type='checkbox' onclick='JavaScript: oncheckboxclick(this); return false;' id='check1'/>
    3. <input type='checkbox' onclick='JavaScript: oncheckboxclick(this); return false;' id='check2'/>
    4. <input type='checkbox' onclick='JavaScript: oncheckboxclick(this); return false;' id='check3'/>
    5.  
    ИМХО радиокнопки будут уместнее
     
  5. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    А вообще, каждый должен заниматься своим делом. Селекты\радиобатоны - выбирать 1 элемент, чекбоксы - много. У пользователей вполне устоявшееся представление о чекбоксах.
     
  6. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Спасибо большое!

    Чек боксы использую потому что у меня должен быть вариант когда ничего не выбрано, а радиобуттоны насколько я знаю не отжимаются назад? Сорри просто в них профан :(
     
  7. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Не отжимаются. Поэтому делают четвёртый - "против всех".
     
  8. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    :?: :?: :?: :?: :?: :?:
    чегото скрипт не работает у меня (фаирфокс) — не отображает галочек :(
     
  9. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ambrella
    Списывать тоже надо уметь.


    HTML:
    1.  
    2.     <script>
    3.         function oncheckboxclick(obj_chkbx)
    4.         {
    5.         var c1 = document.getElementById('check1');
    6.         var c2 = document.getElementById('check2');
    7.         var c3 = document.getElementById('check3');
    8.  
    9.         c1.checked = false;
    10.         c2.checked = false;
    11.         c3.checked = false;
    12.         obj_chkbx.checked = true;
    13.         return true;
    14.         }
    15.     </script>
    16.  
    17.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check1'/>
    18.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check2'/>
    19.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check3'/>
    20. </body>
    21. </html>
     
  10. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Вышла вторая версия радиочекедов....

    HTML:
    1.  
    2.  
    3.     <script>
    4.         function oncheckboxclick(obj_chkbx)
    5.         {
    6.         var c1 = document.getElementById('check1');
    7.         var c2 = document.getElementById('check2');
    8.         var c3 = document.getElementById('check3');
    9.  
    10.         if (obj_chkbx.checked == false)
    11.         {
    12.             c1.checked = false;
    13.             c2.checked = false;
    14.             c3.checked = false;
    15.             return true;
    16.         }
    17.  
    18.         c1.checked = false;
    19.         c2.checked = false;
    20.         c3.checked = false;
    21.         obj_chkbx.checked = true;
    22.         return true;
    23.         }
    24.     </script>
    25.  
    26.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check1'/>
    27.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check2'/>
    28.     <input type='checkbox' onclick='JavaScript: return oncheckboxclick(this);' id='check3'/>
    29. </body>
    30. </html>
     
  11. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ambrella
    Советую реализовать подобный механизм с помощью type='radio'. Пользователям действительно будет понятнее
     
  12. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Я на самом деле все что мог в первой функции перебрал и нумарацию check1 проставил и return false пробовал тож убирать но так и не заработало. Нехватило знаний самому запустить. Спасибо большое!

    По поводу type='radio' - тоже спасибо!

    :) :) :)