ASP.NET服务器控件 - 根据下拉列表选择显示隐藏文本框

时间:2013-06-03 23:14:35

标签: javascript html5 asp.net jquery

根据下拉列表中的用户选择显示/隐藏文本框或整个div部分的最佳方法是什么?我不相信它可能与服务器控件,所以我将不得不使用常规客户端HTML控件,对吗?感谢您的任何意见。 jQuery会是最好的选择吗?

根据下拉选项,我希望能够显示以下Div,并默认隐藏Div。思考:

 <div id="divLimitPrice">Limit Price<br />
 <asp:TextBox ID="txtLimitPrice" runat="server" ValidationGroup="ValidationGroupOrder">    </asp:TextBox>

1 个答案:

答案 0 :(得分:0)

您可以使用与简单html控件相同的服务器控件来执行此操作。您只需要更正设置控件的呈现的客户端ID。这是一个例子:(参见我所做的代码注释)

function TriggerChange(me)
{
    // get the drop down control
    var cTheDropDown = jQuery("#<%=ddlControl.ClientID%>");

    // find the value of the selected one
    var SelValue = jQuery('option:selected', cTheDropDown).attr('value');

    // now do what you like with it
    if(SelValue == "open")
      jQuery("#divLimitPrice").show();
    else
      jQuery("#divLimitPrice").hide();
}

的缩短版本
function TriggerChange(me)
{
    // get the selected value from the drop down list
    //  and base on it, show or hide your div
    if(jQuery("#<%=ddlControl.ClientID%>").val() == "open")
      jQuery("#divLimitPrice").show();
    else
      jQuery("#divLimitPrice").hide();
}

在控制中,您将触发器添加为:

<asp:DropDownList ID="ddlControl" runat="server" onchange="TriggerChange(this);">