チェックボックスの表示・非表示 動作
はじめまして。
初めて掲示板を利用させていただきます。javascriptを勉強しまだ日が浅いのでご存知の方がいらっしゃれば教えてください。
今、チェックボックスを選択し選択した項目がアクティブになるようにしたいのですが、選択項目が重複すると以下のようになってしまいました。
A+AB=AB A+AB+E=ABE 個々までは問題なし。
既に全てのチェックが付いた上体で、ABCE-A=BCE となってしまい、
ABのチェックが入っていても、Aが消えてしまいます。
以下に現在のコードを張ります。
<script type='text/javascript'>
<!--
function fchk2(obj, name) {
var frm=obj.form;
if(obj.checked==true) {
/* チェックボックスが選択されている場合は、
テキストボックスを有効化(false)*/
for(var i=1; i<=3; i++){
frm.elements[name+i].disabled=false;
}
} else {
for(var i=1; i<=3; i++){
/* 無効化する前に、入力値をクリア */
if(name=='t'){
/* テキストボックスの場合 */
frm.elements[name+i].value='';
}else{
/* チェックボックスの場合 */
frm.elements[name+i].checked=false;
}
/* 無効化(true) */
frm.elements[name+i].disabled=true;
}
}
}
//-->
</script>
<form name='form2' action='#'>
<input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t")' checked>A<br>
<input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"b");' checked>AとB<br>
<input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"e");' checked>AとE<br>
<input type='checkbox' name='chk2' value='1' onclick='fchk2(this,"c");fchk2(this,"e");' checked>CとE<br>
<br>
A<input type='text' name='t1' value='テキストA'><br>
A<input type='text' name='t2' value='テキストB'><br>
A<input type='text' name='t3' value='テキストC'><br>
<br>
B<input type='text' name='b1' value='テキストA'><br>
B<input type='text' name='b2' value='テキストB'><br>
B<input type='text' name='b3' value='テキストC'><br>
<br>
<input type='checkbox' name='c1' value='1'> 選択肢C<br>
<input type='checkbox' name='c2' value='1'> 選択肢C<br>
<input type='checkbox' name='c3' value='1'> 選択肢C<br>
<br>
<input type='checkbox' name='e1' value='1'> 選択肢E<br>
<input type='checkbox' name='e2' value='1'> 選択肢E<br>
<input type='checkbox' name='e3' value='1'> 選択肢E
</form>
よろしくお願いいたします。
お礼
ありがとうございます。やはりノイズですよね。 金属ケースに収めればノイズ対策ができるのですか。 聞いてよかったです。加工が楽な樹脂製のケースにしようかと思っていたものですから。 あと、スイッチの切り替え時のノイズも心配です。 がんばってみます。