- ベストアンサー
チェックボックスの設定
複数のチェックボックスを使用しています。 ラジオボタンのように、1つのチェックボックスしかチェックできないように したいのですが、うまくいきません。 どなたか詳しいお方教えていただけませんでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
チェックボックスを配列にして.. 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
その他の回答 (2)
チェックボックスの場合、標準ではそういうことはできません。 普通は、 ラジオボタン =ひとつだけ選択 チェックボックス=複数選択 という使い方をします。 逆に、これからはずれるということは、設計が間違っているような気がしますが。。。 (まったくチェックされていない状態が必要なのであれば、逆にチェックしないのと同じ意味を持たせたラジオボタンを用意すれば良いだけだと思いますけどね) どうしてもやりたいというのであれば、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>
お礼
詳しいご説明ありがとうございました。 とてもためになりました。 ありがとうございました。 ジャバスクリプトで制御する時の為にとっておきたいと思います。
<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> 上記のようにすれば良いと思います。
お礼
即レスありがとうございます。 VBだけでは、あまり標準的ではないようですね。 参考になりました。 ありがとうございました。
お礼
ご回答ありがとうございました。 とても助かりました。 いろいろ出来るんですね。 また一つ賢くなりました。