0

私はこの問題を解決するために週末中ずっと努力してきましたが、複雑すぎるかもしれません。私が取り組んでいる簡略化されたコードは以下のとおりです。私は長い間これで頭を悩ませているので、どんな助けも大歓迎です。

問題: 2 つのチェックボックスをオンにすると、それぞれのラジオ ボタンが選択されます。したがって、Earth and Wind チェックボックスを選択すると、[Earth and Wind] ラジオ ボタンが選択されます。

<input name="single" type="checkbox" id="Earth"/>Earth<br>
<input name="single" type="checkbox" id="Wind"/>Wind<br>
<input name="single" type="checkbox" id="Emotion"/>Emotion<br>
<input name="single" type="checkbox" id="Grass"/>Grass<br>
<input name="single" type="checkbox" id="Good"/>Good<br>

<hr>

<input name="pair" type="radio" class="Earth Wind"/>Earth and Wind<br>
<input name="pair" type="radio" class="Earth Emotion"/>Earth and Emotion<br>
<input name="pair" type="radio" class="Earth Grass"/>Earth and Grass<br>
<input name="pair" type="radio" class="Earth Good"/>Earth and Good<br>
<input name="pair" type="radio" class="Wind Emotion"/>Wind and Emotion<br>
<input name="pair" type="radio" class="Wind Grass"/>Wind and Grass<br>
<input name="pair" type="radio" class="Wind Good"/>Wind and Good<br>
<input name="pair" type="radio" class="Emotion Grass"/>Emotion and Grass<br>
<input name="pair" type="radio" class="Emotion Good"/>Emotion and Good<br>

編集: 証明するために、私の努力: http://jsfiddle.net/rsF6w/ : 2 つがチェックされた後、チェックボックスも無効にしました。

4

3 に答える 3

0

すべてのチェックボックス(たとえば、の場合)に目を通し、どの2つがチェックされているかを確認します。目的のラジオボタンの名前と同じ文字列を2つ作成します(両方向に連結します)。今回はラジオボタンを確認し、一致する名前を見つけたら確認します。

一度に2つ以上のチェックボックスを選択する、有効なペアを選択しない(何もチェックしない、ブール値を使用することもできます)などの例外を処理するようにしてください。

于 2012-06-04T16:09:57.800 に答える
0

イベント ハンドラーをイベントにアタッチする必要がありonClickます。これらの関数内で、ボックスのすべての状態を取得します。2 つの状態がチェックされている場合は、該当するラジオ ボタンをチェックします。これは解決するのに適した問題です。完全なコードは、学習体験を台無しにします。

于 2012-06-04T16:07:27.013 に答える
0

ビットマスクを使用するコードを各チェックボックスに与えることができます。次に、OR 比較を実行して、選択するラジオ ボタンのビット コードを取得します。

詳細については、こちらをお読みください: http://en.wikipedia.org/wiki/Mask_(computing )

たとえば、地球は 00000001、風は 00000010、感情は 00000100 などに対応するコードを持ちます。

Earth wind はコードを取得します: 00000011

于 2012-06-04T16:09:05.373 に答える