Cómo habilitar selectivamente una lista desplegable

Tengo un formulario que contiene dos listas desplegables:

  1. Estado civil
  2. número de niños

Ahora me gustaría habilitar el menú desplegable de número de hijos al seleccionar los siguientes elementos en el menú desplegable de estado civil:

  1. Viuda
  2. Divorciado
  3. Divorcio en espera

¿Cómo puedo hacerlo?

preguntado el 04 de julio de 12 a las 07:07

4 Respuestas

En el evento de cambio de índice seleccionado DropDownList de MaritalStatus, si los valores seleccionados coinciden con sus opciones, habilite 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;  
          }
    }

Respondido 04 Jul 12, 07:07

desplegable las listas tienen Listitem colección en ellos. Cada Listitem tiene un Texto y Valor. Intente configurar el texto como "Divorciado" y el valor como "D" o mejor a un número entero como "1", algo similar a ID. Obtendrá este Texto/Valor de una tabla de base de datos si lo está recuperando de la base de datos.

Hacer el número de niños desplegable Enabled = false por defecto y luego Enable = true como se explica en el fragmento de código anterior por ebad86.

Respondido 04 Jul 12, 07:07

también puede usar el menú desplegable en cascada de ajaxcontroltoolkit

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx

Respondido 04 Jul 12, 07:07

. 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;
}

Respondido 04 Jul 12, 08:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.