チェックボックスがチェックされているかどうかをチェックするJavascript
チェックボックスのグループに対してアクションを実行するjavascriptのルーチンがありますが、最終的なアクションでは、ユーザーがチェックボックスにチェックを入れていたか、チェックを外していたかに基づいて、クリックされたチェックボックスにチェックまたはアンチェックを設定したいと考えています。
残念ながら、チェックされているかどうかをチェックするたびに、ユーザーが常にチェックしていることを示す "on" が返されます。 javascriptも添付しています。
// Uncheck all the checkboxs with the same Tax Credit
for (i=0; i<arrChecks.length; i++)
{
var attribute = arrChecks[i].getAttribute("xid")
if (attribute == elementName)
{
// if the current state is checked, unchecked and vice-versa
if (arrChecks[i].value == "on") // <-- This is always returning true, even if the box is being unchecked
{
arrChecks[i].checked = 1;
} else {
arrChecks[i].checked = 0;
}
} else {
arrChecks[i].checked = 0;
}
}
27
3
checkbox要素のcheckedプロパティに対して評価する必要があります。
checkbox
の
value`属性は、何で設定するかです。つまり、誰かがそのボックスをチェックすると、サーバーは
test
という名前の変数をvalue
の1
で受け取ります。チェックしたいのは、そのvalue
ではなく (チェックされていてもいなくても変わることはありません)、チェックボックスのchecked
ステータスです。つまり、このコードを置き換えると、次のようになります。
このように
これで動くはずです。これには
0
と1
の代わりにtrue
とfalse
を使う必要があります。何が問題なのかはわかりませんが、これで解決できることは間違いありません。