1

すべてグループに分けられたラジオボタンのリストがあります。この場合は学校のクラスです。

<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>

この例では、数学には複数のオプションがあり、高レベル、標準レベル、および研究です。1つを選択すると、他のクラスが非アクティブ化されるようにする方法を知りたいのですが、同じクラスの場合のみです。したがって、たとえば、誰かがMath High Levelを選択した場合、他の2つの数学クラスは無効になります(チェックが外されるまで)が、Physicsは影響を受けません。

たくさんのクラスがあるので、チェックボックスの多くのグループで機能するものが欲しいことに注意してください。

4

2 に答える 2

1

MDNでメモを読むことをお勧めします:https ://developer.mozilla.org/en-US/docs/HTML/Element/Input

彼らについてtype="radio"次のように言います:

このアイテムによって送信される値を定義するには、value属性を使用する必要があります。

name属性に同じ値を持つラジオボタンは、同じ「ラジオボタングループ」にあります。グループ内の1つのラジオボタンのみを一度に選択できます。

于 2012-08-05T02:27:41.493 に答える
0

ラジオボタンの各セットに同じ名前と異なる値を使用すると、必要なものが得られます。

コード:

<?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>

ライブ デモ このセットアップは、説明されているすべての条件を満たしています。

あなたが言ったSo, for example, if someone chooses Math High Level, the other two math classes are disabled (until it is unchecked), but Physics is unaffected.

Please note, I have a ton of classes, so I'd like something that works for many groups of check boxes.

そこで、ラジオボタン、class[math]グループで、一度に1種類のクラスしか選択できません。数学と物理学の選択は、相互に、または他のクラスには影響しません。

ただし、ラジオ ボタンの場合は、ユーザーに のオプションを選択できるようにすることも検討する必要があります。No Classこれは、1 つのグループでラジオ ボタンが選択されると、選択を解除できないためです (チェックボックスのチェックを解除できるのとは異なります)。したがって、次のようなオプションを付けることができますNo Class

チェックボックスを使用する場合は、次の質問を参照してください:別のチェックボックスに基づいてチェックボックスを無効にする方法は?

この質問と受け入れられた回答は jQuery を使用しており、あなたのような同様の要件 (多数のグループ) がありますが、各グループで 2 つのチェックボックスのみを扱っています。

于 2012-08-05T03:11:35.467 に答える