teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記&訂正

2020/11/23 01:46

投稿

退会済みユーザー
answer CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  (3) イベントハンドラ内で ChecBoxList.Items プロパティを使って ListItemCollection を取得。
15
15
 
16
- (4) ListItemCollection の FindByTest または FindByValue メソッドで「不明」に該当する ListItem を取得。
16
+ (4) ListItemCollection の FindByText または FindByValue メソッドで「不明」に該当する ListItem を取得。
17
17
 
18
18
  (5) 上記 (4) で取得した ListItem の Selected プロパティが ture であれば、その他の ListItem の Selected プロパティと Enabled プロパティを false に設定する。
19
19
 

1

追記

2020/11/23 01:46

投稿

退会済みユーザー
answer CHANGED
@@ -1,5 +1,12 @@
1
1
  JavaScript / jQuery を使ってクライアント側で処理するのがよさそうですが、今回はポストバックしてサーバー側で処理するのが希望と理解してレスします。
2
2
 
3
+ > ①チェックボックスを5つ作る(「不明」、「A型」、「B型」、「O型」「AB型」のボックス)
4
+ > ②「不明」ボックスにチェックが入っているとき、他ボックスをグレーアウトで非活性にする。
5
+ > ③「不明」ボックスのチェックを外した時、他のボックスを活性にする。
6
+ > ④「A型」、「B型」、「O型」、「AB型」のボックスは複数選択できるようにする。
7
+
8
+ 上の ② では「他ボックスをグレーアウト」するだけでなく、チェックを外す必要があると思いますが、それを含めて以下のようにすれば希望通りになると思います。
9
+
3
10
  (1) チェックボックスのどれかをクリックしたときポストバックされるるように CheckBoxList の AutoPostBack プロパティを true に設定。
4
11
 
5
12
  (2) 処理は CheckBoxList.SelectedIndexChanged イベントのハンドラで行うのでその設定(ハンドラのコードの生成とイベントへのアタッチ)を行う。