Серверные элементы управления 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);">