2 つのドロップダウン リストを含むフォームがあります。
- 配偶者の有無
- 子供の数
ここで、配偶者の有無のドロップダウンで次の項目を選択したときに、子供の数のドロップダウンを有効にしたいと思います。
- 未亡人
- 離婚した
- 離婚待ち
どうすればいいですか?
MaritalStaus DropDownList Selected Index changed イベントで、選択した値がオプションと一致する場合は、NoOfChild DropDownList を有効にします。
protected void MaritalStaus_SelectedIndexChanged(object sender, EventArgs e)
{
//Match the selected value here : for Example:
if (MaritalStaus.SelectedValue.Equals("Divorced") || /*Other Comparisions */)
{
NoOfChild.Enabled = true;
}
}
ajaxcontroltoolkit のカスケード ドロップダウンを使用することもできます
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
.aspx
<asp:DropDownList ID="ddlMaritalStatus" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlMaritalStatus_SelectedIndexChanged">
<asp:ListItem Text="" />
<asp:ListItem Text="Widow" />
<asp:ListItem Text="Divorced" />
<asp:ListItem Text="Awaiting Divorce" />
</asp:DropDownList>
<asp:DropDownList ID="ddlNoOfChildren" runat="server" Enabled="false">
<asp:ListItem Text="1" />
<asp:ListItem Text="2" />
<asp:ListItem Text="3" />
<!-- and so on -->
</asp:DropDownList>
aspx.cs
protected void ddlMaritalStatus_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlMaritalStatus.SelectedItem.Text == "Widow") // if widow is selected
ddlNoOfChildren.Enabled = true;
else
ddlNoOfChildren.Enabled = false;
}
ドロップダウンリストにはListItemコレクションがあります。各ListItemにはTextとValueがあります。テキストを「Divorced」に設定し、値を「D」または ID に似た「1」などの整数に設定してみてください。データベースから取得する場合は、これらのテキスト/値をデータベース テーブルから取得します。
No. of Childrenをデフォルトでドロップダウン にし、上記のコード スニペットで ebad86 が説明したようにします。Enabled = false
Enable = true