Php 复选框的非活动组

Php 复选框的非活动组,php,checkbox,Php,Checkbox,我有一个单选按钮列表,所有这些按钮都分为几个组,在本例中,特别是学校班级 <label class="control-label" for="optionsCheckboxList">Math</label> <div class="controls"> <label class="checkbox"> <input type='checkbox' name='class[math1]' value='1' id="m

我有一个单选按钮列表,所有这些按钮都分为几个组,在本例中,特别是学校班级

<label class="control-label" for="optionsCheckboxList">Math</label>
<div class="controls">
    <label class="checkbox">
        <input type='checkbox' name='class[math1]' value='1' id="mathhl">
        High Level
    </label>
    <label class="checkbox">
        <input type='checkbox' name='class[math2]' value='1' id="mathsl">
        Standard Level
    </label>
    <label class="checkbox">
        <input type='checkbox' name='class[math3]' value='1' id="mathst">
        Studies
        </label>
</div>
<hr>
<label class="control-label" for="optionsCheckboxList">Physics</label>
<div class="controls">
    <label class="checkbox">
        <input type="checkbox" name='class[phys1]' value='1' id="physhl">
        High Level
    </label>
</div>
数学
高层
标准水平
研究

物理 高层
在本例中,数学有多种选择,包括高水平、标准水平和学习。我想知道一种方法,我可以使它,这样当一个被选中,其他被停用,但只为同一类。例如,如果有人选择“数学高水平”,那么其他两门数学课将被禁用(直到取消选中),但物理课不会受到影响


请注意,我有大量的课程,因此我想要一些适用于多组复选框的课程。

我建议您阅读MDN上的笔记:

关于
type=“radio”
他们说:

您必须使用value属性定义此用户提交的值 项目

与“名称”属性具有相同值的单选按钮位于中 相同的“单选按钮组”;一个组中只能有一个单选按钮可用 一次选定


我建议您阅读MDN上的注释:

关于
type=“radio”
他们说:

您必须使用value属性定义此用户提交的值 项目

与“名称”属性具有相同值的单选按钮位于中 相同的“单选按钮组”;一个组中只能有一个单选按钮可用 一次选定


如果对每组单选按钮使用相同的名称和不同的,您将获得所需的内容

代码:


数学
高层
标准水平
研究

物理 高层
此设置满足您描述的所有条件:

例如,如果有人选择了“数学高级”,其他两门数学课将被禁用(直到取消选中),但物理课不会受到影响。

请注意,我有大量的类,所以我想要一些适用于多组复选框的类。

因此,使用单选按钮,
class[math]
group,一次只能选择一种类型的类。数学和物理选项不会相互影响或影响任何其他课程

但是,在单选按钮的情况下,你也应该考虑给用户选择“代码>没有类< /代码>的选项,因为一旦在一个组中选择了任何单选按钮,它就不能被取消选择(不像复选框可以被选中)。因此,您可以设置一些选项,如

No Class

如果要使用复选框,请参见以下问题:


这个问题和公认的答案使用jQuery,要求与您类似(成吨的组),但每个组中只处理两个复选框。

如果您对每组单选按钮使用相同的名称和不同的值,您将获得所需的内容

代码:


数学
高层
标准水平
研究

物理 高层
此设置满足您描述的所有条件:

例如,如果有人选择了“数学高级”,其他两门数学课将被禁用(直到取消选中),但物理课不会受到影响。

请注意,我有大量的类,所以我想要一些适用于多组复选框的类。

因此,使用单选按钮,
class[math]
group,一次只能选择一种类型的类。数学和物理选项不会相互影响或影响任何其他课程

但是,在单选按钮的情况下,你也应该考虑给用户选择“代码>没有类< /代码>的选项,因为一旦在一个组中选择了任何单选按钮,它就不能被取消选择(不像复选框可以被选中)。因此,您可以设置一些选项,如

No Class

如果要使用复选框,请参见以下问题:


此问题和已接受的答案使用jQuery,具有与您类似的要求(成吨的组),但每个组中只处理两个复选框。

是否使用无线电框更合适?听起来你在一个组中只有一个选项可以被选中,这就是收音机的功能。你有重复的id
math1
谢谢你的帮助,@codingbiz。此外,我也尝试过单选按钮,但页面总是将其视为一个大的单选按钮组,只允许我为整个列表选择一个。如果对不同的组使用不同的名称,则不会将其视为一个大组。这些组是由同名收音机组成的。这是打字错误吗?你说你有单选按钮的列表,但是在你的代码中你有复选框,单选框是否更合适?听起来你在一个组中只有一个选项可以被选中,这就是收音机的功能。你有重复的id
math1
谢谢你的帮助,@codingbiz。此外,我也尝试过单选按钮,但页面总是将其视为一个大的单选按钮组,只允许我为整个列表选择一个。如果对不同的组使用不同的名称,则不会将其视为一个大组。这些组是由同名收音机组成的。这是打字错误吗?你说你有单选按钮的列表,但是在你的代码中有复选框。
<?php
if(isset($_POST["submit"])){
    echo "You selected:<br />\r\n<pre>";
    print_r($_POST);
    echo "</pre>";
}
?>
<form action="" method="POST">
<label class="control-label" for="optionsCheckboxList">Math</label>
<div class="controls">
    <label class="checkbox">
        <input type='radio' name='class[math]' value='hl' id="mathhl">
        High Level
    </label>
    <label class="checkbox">
        <input type='radio' name='class[math]' value='sl' id="mathsl">
        Standard Level
    </label>
    <label class="checkbox">
        <input type='radio' name='class[math]' value='st' id="mathst">
        Studies
        </label>
</div>
<hr>
<label class="control-label" for="optionsCheckboxList">Physics</label>
<div class="controls">
    <label class="checkbox">
        <input type="radio" name='class[phys]' value='hl' id="physhl">
        High Level
    </label>
</div>
<hr>
<input type="submit" name="submit" value="Submit" />
</form>