Серверные элементы управления ASP.NET - Показать скрыть текстовое поле на основе выпадающего списка

Каков наилучший способ показать / скрыть текстовое поле или весь раздел div на основе выбора пользователя из раскрывающегося списка? Я не верю, что это возможно с серверными элементами управления, поэтому мне придется использовать обычные клиентские HTML-элементы управления, верно? Спасибо за любой вклад. Будет ли JQuery лучшим вариантом для этого?

Основываясь на выпадающем списке, я хочу иметь возможность отображать следующий элемент Div и по умолчанию скрывать элемент Div. Мысли?:

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

1 ответ

Вы можете сделать это с серверными элементами управления так же, как с простыми элементами управления HTML. Вам нужно только исправить заданные идентификаторы клиента элемента управления. Вот пример: (см. Примечания к коду для того, что я делаю)

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);">
Другие вопросы по тегам