AZのボタンを表示するPHPコードがあります。
<table id="optionAndAnswer" class="optionAndAnswer">
<tr class="answer">
<td>3. Answer</td>
<td>
<?php
$a = range("A","Z");
?>
<table id="answerSection">
<tr>
<?php
$i = 1;
foreach($a as $key => $val){
if($i%7 == 1) echo"<tr><td>";
echo"<input type=\"button\" onclick=\"btnclick(this);\" value=\"$val\" id=\"answer".$val."\" name=\"answer".$val."Name\" class=\"answerBtns answers answerBtnsOff\">";
if($i%7 == 0) echo"</td></tr>";
$i++;
}
?>
...
これで、これらのボタンは「.answerBtnsOn」と「.answerBtnsOff」を使用してオンとオフを切り替える必要があります
私が抱えている問題は、オンにする必要のあるボタンが強調表示されますが、他のボタンの強調表示が解除(オフ)されないことです。したがって、ボタンBが強調表示されていても、答えがAとCの場合は、ボタンAとCのみをオンにし、他のすべてのボタンをオフにする必要がありますが、ボタンBがAとCとともにオンのままであるため、これは発生しません。 。
だから私の質問は、どうすればオフにすべきボタンをオフにできるかということです。現時点では、正しいボタンはオンになっていますが、他のボタンはオフにされていません。
以下は現在のコードです:
var answers = $.map(btn.split(''),function(chr){ return "#answer"+chr; }).join(', ');
$(answers).removeClass('answerBtnsOn').addClass('answerBtnsOff');
$(answers).addClass("answerBtnsOn").siblings().addClass('answerBtnsOff');
アップデート:
これがデモです。何が起こっているかを確認できます。デモを使用するには、以下の手順に従ってください。
- ステップ1:左側に緑色のプラスボタンが表示されます。このボタンをクリックすると、モーダルウィンドウが表示されます。
- ステップ2:モーダルウィンドウの検索バーに検索バーが表示されたら、「AAA」と入力して送信します。
- ステップ3:検索すると多数の結果が表示されます。最初の行には、その最初の行内のその列の下に「B」と表示されている「Answer」列が表示されます。[追加]ボタンをクリックして、その行を追加します。
- ステップ4:右側に、ボタン「B」が強調表示されます。
これは現時点では問題ありませんが、問題が発生しています。
- ステップ5:行の緑色のプラスボタンをもう一度クリックして、同じ検索を実行します。
- ステップ6:今回は、「Answer」が「AC」である2番目の行を追加します。ボタンAとCが強調表示されているのに、ボタンBはまだ強調表示されているので、オフにする必要があります。
これが私の問題です。この例では、「B」ボタンがオフにならないのはなぜですか。