Итак, как я могу разрешить пользователю устанавливать только один флажок?
Я знаю, что радиокнопки "идеальны", но для моей цели ... это не так.
У меня есть поле, где пользователям нужно выбрать один или два варианта, но не оба. Проблема в том, что мне нужно, чтобы мои пользователи также могли отменить выбор своей опции, и здесь радио-кнопки не работают, потому что после выбора группы вы должны выбрать вариант.
Я буду проверять информацию через php, но я все равно хотел бы ограничить пользователей одним ответом, если они хотят его дать.
Ответы:
Этот фрагмент будет:
источник
.radio
селектора может помочь. Спасибо, что указали на это :)Вам нужно привязать
change()
обработчик, чтобы событие запускалось при изменении состояния флажка. Затем просто снимите все флажки, кроме того, который запускал обработчик:Вот скрипка
Что касается группировки, если ваш флажок «группы» были братьями и сестрами:
Вы могли сделать это:
Вот еще одна скрипка
Если ваши флажки сгруппированы по другому атрибуту, например
name
:Вы могли сделать это:
Вот еще одна скрипка
источник
Радиокнопки идеальны. Вам просто нужен третий вариант «ни один», который выбран по умолчанию.
источник
На этот вопрос уже есть несколько ответов, основанных на чистом JS, но ни один из них не является столь кратким, как мне хотелось бы.
Вот мое решение, основанное на использовании тегов имен (например, с переключателями) и нескольких строк javascript.
источник
Это должно работать для любого количества флажков в форме. Если у вас есть другие, которые не являются частью группы, настройте селекторы для соответствующих входов.
источник
Вот простое решение HTML и JavaScript, которое я предпочитаю:
// js-функция, позволяющая проверять только один будний день за раз:
источник
Пусть этот код вам поможет.
Рабочая ссылка Нажмите здесь
источник
Основываясь на ответе billyonecan , вы можете использовать следующий код, если вам нужен этот фрагмент для нескольких флажков (при условии, что они имеют разные имена).
источник
Хотя, вероятно, лучше всего использовать JS, это можно сделать только с помощью HTML и CSS.
Здесь у вас есть поддельный переключатель, который на самом деле является ярлыком для настоящего скрытого переключателя. Так вы получите именно тот эффект, который вам нужен.
Смотрите здесь: https://jsfiddle.net/tn70yxL8/2/
Предполагается, что вам нужны невыбираемые метки.
Если вы хотели включить метки, вы можете технически избежать повторения метки «снять отметку», изменив ее текст в CSS, см. Здесь: https://jsfiddle.net/7tdb6quy/2/
источник
Пример с AngularJs
источник
С простым старым javascript.
изменить: также возможно
источник
источник
Если кому-то нужно решение без внешних библиотек javascript, вы можете использовать этот пример. Группа флажков, позволяющая принимать значения 0..1. Вы можете нажать на компонент флажка или связанный текст метки.
источник
Моя версия: использовать атрибуты данных и ванильный JavaScript
источник
Necromancing:
И без jQuery, для такой структуры флажков:
вы бы сделали это так:
источник
источник