Hi kelsen1989,
Please take reference to the below code and correct your code.
HTML
<div>
<p>
1. Which bloodborne pathogens? (Select all that apply)
<asp:CustomValidator ID="CustomValidator1" ErrorMessage="*" ForeColor="Red" ClientValidationFunction="ValidatechkQ1"
runat="server" />
<asp:CheckBoxList ID="ChkQ1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ChkQ1_SelectedIndexChanged">
<asp:ListItem Value="a">a. Hepatitis B</asp:ListItem>
<asp:ListItem Value="b">b. Hepatitis C</asp:ListItem>
<asp:ListItem Value="c">c. Diptheria</asp:ListItem>
<asp:ListItem Value="d">d. Tetanus</asp:ListItem>
<asp:ListItem Value="e">e. HIV</asp:ListItem>
</asp:CheckBoxList>
</p>
<div id="Answer" runat="server">
<asp:Label ID="lblQ1" runat="server"></asp:Label>
</div>
</div>
Code
C#
protected void ChkQ1_SelectedIndexChanged(object sender, EventArgs e)
{
bool aSelected = false;
bool bSelected = false;
bool cSelected = false;
bool dSelected = false;
bool eSelected = false;
foreach (ListItem item in ChkQ1.Items)
{
if (item.Selected)
{
if (item.Value.ToLower() == "a")
{
aSelected = true;
}
else if (item.Value.ToLower() == "b")
{
bSelected = true;
}
else if (item.Value.ToLower() == "c")
{
cSelected = true;
}
else if (item.Value.ToLower() == "d")
{
dSelected = true;
}
else if (item.Value.ToLower() == "e")
{
eSelected = true;
}
}
}
if (aSelected && bSelected && !cSelected && !dSelected & !eSelected)
{
lblQ1.Text = "1";
}
else
{
lblQ1.Text = "0";
}
}
Vb.Net
Protected Sub ChkQ1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim aSelected As Boolean = False
Dim bSelected As Boolean = False
Dim cSelected As Boolean = False
Dim dSelected As Boolean = False
Dim eSelected As Boolean = False
For Each item As ListItem In ChkQ1.Items
If item.Selected Then
If item.Value.ToLower() = "a" Then
aSelected = True
ElseIf item.Value.ToLower() = "b" Then
bSelected = True
ElseIf item.Value.ToLower() = "c" Then
cSelected = True
ElseIf item.Value.ToLower() = "d" Then
dSelected = True
ElseIf item.Value.ToLower() = "e" Then
eSelected = True
End If
End If
Next
If aSelected AndAlso bSelected AndAlso Not cSelected AndAlso Not dSelected And Not eSelected Then
lblQ1.Text = "1"
Else
lblQ1.Text = "0"
End If
End Sub
Screenshot