根据asp.net下拉框中的选择显示文本框

时间:2015-03-04 21:23:13

标签: javascript c# jquery asp.net

当用户从下拉列表中选择“是”时,我只想显示文本框。我希望默认情况下保持隐藏或不可见文本框,但仅在从下拉列表中选择是时显示。感谢。

<asp:DropDownList ID="ddl1" AutoPostBack="false" CssClass="form-control" runat="server" AppendDataBoundItems="true">
                            <asp:ListItem Text="!!! Please make selection !!!" Value="0"></asp:ListItem>
                            <asp:ListItem Text="Yes" Value="Yes"></asp:ListItem>
                            <asp:ListItem Text="No" Value="No"></asp:ListItem>
                        </asp:DropDownList>

这是文本框

 <asp:TextBox ID="txt1" runat="server"  CssClass="form-control"></asp:TextBox>

2 个答案:

答案 0 :(得分:3)

如果您愿意使用jQuery,那么就是这样做的。

$(function () {
    $('[id*="ddl1"]').on('change', function () {
        var val = this.value,
            $txtbox = $('[id*="txt1"]');

        if (val === "Yes") {
            // Show text box
            $txtbox.show();
        } else {
            // Hide text box
            $txtbox.hide();
        }
    });
});

还要确保文本框在加载时隐藏。

<asp:TextBox ID="txt1" runat="server" style="display:none;"  CssClass="form-control"></asp:TextBox>

答案 1 :(得分:2)

如果不使用jquery make AutoPostBack =&#34; true&#34;和文本框可见false。然后双击ddl1并写入selectedindexchange方法 c#

if(ddl1.selecteditem==true) 
      txt1.visible=true;
else
      txt1.visible=false;