Как я могу запретить пользователю выбирать несколько флажков в HTML? - PullRequest
1 голос
/ 15 апреля 2011

Как я могу запретить пользователю выбирать несколько флажков в HTML?

Ответы [ 5 ]

8 голосов
/ 15 апреля 2011

Вы должны изменить его на переключатель вместо флажка!

<input type="radio" name="group1" id="item1" value="Milk">
<label for="item1">Milk</label>
<br/>
<input type="radio" name="group1" id="item2" value="Butter" checked>
<label for="item2">Butter</label>
<br/>
<input type="radio" name="group1" id="item3" value="Cheese">
<label for="item13">Cheese</label>
2 голосов
/ 17 марта 2013

У меня был случай, когда мне нужно было использовать флажки, которые, в отличие от переключателей, позволяют пользователю UNcheck ... Вот пример чего-то, что я собрал от другого пользователя stackoverflow:

<head>
    <meta charset=utf-8 />
    <title>and-or checkboxes</title>
    <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
</head>

<body>

    <label for="checkbox1"><input type="checkbox" id="checkbox1" name="checkbox1" value="and" </label><span id="span_and">checkbox1</span><br>

    <label for="checkbox2"> <input type="checkbox" id="checkbox2"  name="checkbox2"  value="or" </label><span id="span_or">checkbox2</span>

    <script>

        $(document).ready(function(){
            $('#checkbox1').click(function() {
            var checkedBox = $(this).attr("checked");
                if (checkedBox === true) {
                    $("#checkbox2").attr('checked', false);
                } else {
                    $("#checkbox2").removeAttr('checked');                    
                }
            });
        });

        $(document).ready(function(){
            $('#checkbox2').click(function() {
            var checkedBox = $(this).attr("checked");
                if (checkedBox === true) {
                    $("#checkbox1").attr('checked', false);                     
                } else {
                    $("#checkbox1").removeAttr('checked');                       
                }
            });
        });

    </script>

</body>

Немного потрудившись, вы можете объединить один или два сценария в один.Возможно, вам это сейчас не нужно, но я хотел опубликовать это, потому что это было очень полезно для меня.

1 голос
/ 15 апреля 2011

Если вы имеете в виду, что вы не хотите, чтобы несколько флажков из одной и той же "логической группы" были отмечены одновременно, вы должны использовать переключатели вместо флажков.

<form>
    <input type="radio" name="aGroup" value="choice1" /> Choice #1<br />
    <input type="radio" name="aGroup" value="choice2" /> Choice #2
</form>

Используя это, можно проверить только 1 опцию за один раз

1 голос
/ 15 апреля 2011

Если вы хотите, чтобы за один раз был установлен только один флажок, то лучше вместо него использовать radiobutton.

0 голосов
/ 15 апреля 2016

Используйте радио, и они должны иметь одинаковые name="".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...