• ベストアンサー

チェックボックスの設定

複数のチェックボックスを使用しています。 ラジオボタンのように、1つのチェックボックスしかチェックできないように したいのですが、うまくいきません。 どなたか詳しいお方教えていただけませんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

チェックボックスを配列にして.. Private Sub Check1_Click(Index As Integer)   Dim p As CheckBox   If (Check1(Index).Value = 0) Then Exit Sub   For Each p In Check1     If (p.Index <> Index) Then       p.Value = 0     End if   Next End Sub

tariran
質問者

お礼

ご回答ありがとうございました。 とても助かりました。 いろいろ出来るんですね。 また一つ賢くなりました。

その他の回答 (2)

noname#227796
noname#227796
回答No.3

チェックボックスの場合、標準ではそういうことはできません。 普通は、 ラジオボタン  =ひとつだけ選択 チェックボックス=複数選択 という使い方をします。 逆に、これからはずれるということは、設計が間違っているような気がしますが。。。 (まったくチェックされていない状態が必要なのであれば、逆にチェックしないのと同じ意味を持たせたラジオボタンを用意すれば良いだけだと思いますけどね) どうしてもやりたいというのであれば、JavaScriptを使って実現するしかないでしょう。 色々考えるのが面倒なので、簡単に以下のようにしてみました。(変更はご随意に) <HTML> <HEAD> <SCRIPT LANGUAGE="javascript"> <!-- function check(boxname) { for ( i = 0 ; i < document.forms[0].elements.length ; i++ ) { if ( document.forms[0].elements[i].type.toUpperCase() == "CHECKBOX" ) { if ( document.forms[0].elements[i].name != boxname ) { document.forms[0].elements[i].checked = false; } } } } // --> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE="checkbox" name="check_1" value="1" onClick="check('check_1')"><BR> <INPUT TYPE="checkbox" name="check_2" value="2" onClick="check('check_2')"><BR> <INPUT TYPE="checkbox" name="check_3" value="3" onClick="check('check_3')"><BR> </FORM> </BODY> </HTML>

tariran
質問者

お礼

詳しいご説明ありがとうございました。 とてもためになりました。 ありがとうございました。 ジャバスクリプトで制御する時の為にとっておきたいと思います。

noname#10927
noname#10927
回答No.1

<INPUT type="radio" name="項目名1" value="選択値1"></FONT> <FONT size="-1">選択値1</FONT> <INPUT type="radio" name="項目名1" value="選択値2"> <FONT size="-1">選択値2</FONT> 上記のようにすれば良いと思います。

tariran
質問者

お礼

即レスありがとうございます。 VBだけでは、あまり標準的ではないようですね。 参考になりました。 ありがとうございました。

関連するQ&A