Javascript ASP.NET服务器控件-基于下拉选择显示隐藏文本框
根据用户从下拉列表中的选择,显示/隐藏文本框或整个div部分的最佳方式是什么?我认为服务器控件是不可能的,所以我必须使用常规的客户端HTML控件,对吗?谢谢你的意见。jQuery是最好的选择吗?是否有一种方法可以在默认情况下隐藏Div,然后在用户从下拉列表中选择选项时显示它Javascript ASP.NET服务器控件-基于下拉选择显示隐藏文本框,javascript,jquery,asp.net,css,html,Javascript,Jquery,Asp.net,Css,Html,根据用户从下拉列表中的选择,显示/隐藏文本框或整个div部分的最佳方式是什么?我认为服务器控件是不可能的,所以我必须使用常规的客户端HTML控件,对吗?谢谢你的意见。jQuery是最好的选择吗?是否有一种方法可以在默认情况下隐藏Div,然后在用户从下拉列表中选择选项时显示它 <div id="divLimitPrice">Limit Price<br /> <asp:TextBox ID="txtLimitPrice" runat="server"
<div id="divLimitPrice">Limit Price<br />
<asp:TextBox ID="txtLimitPrice" runat="server" ValidationGroup="ValidationGroupOrder"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvLimitPrice" runat="server" ControlToValidate="txtLimitPrice" ErrorMessage="This is a required field."></asp:RequiredFieldValidator>
</div>
<script type="text/javascript">
$(function () {
$('[id*="ddPriceType"]').on('change', function () {
var val = this.value,
$divLimitPrice = $('[id*="divLimitPrice"]');
if (val === 1 || val === 2) {
// Hide div group
$divLimitPrice.hide();
} else {
// Show div group
$divLimitPrice.show();
}
});
});
</script>
Price Type<br />
<asp:DropDownList ID="ddPriceType" runat="server" ValidationGroup="ValidationGroupOrder">
<asp:ListItem Value="" Text ="Select a Price Type" />
<asp:ListItem Value="2" text="Type 2" />
<asp:ListItem Value="3" text="Type 3" />
<asp:ListItem Value="4" text="Type 4" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvPriceType" runat="server" ControlToValidate="ddPriceType" ErrorMessage="This is a required field."></asp:RequiredFieldValidator>
<div id="divLimitPrice">Limit Price<br />
<asp:TextBox ID="txtLimitPrice" runat="server" ValidationGroup="ValidationGroupOrder"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvLimitPrice" runat="server" ControlToValidate="txtLimitPrice" ErrorMessage="This is a required field."></asp:RequiredFieldValidator>
</div>`
限价
$(函数(){
$('[id*=“ddPriceType”]')。在('change',函数(){
var val=此.val值,
$divLimitPrice=$('[id*=“divLimitPrice”]');
如果(val==1 | | val==2){
//隐藏分区组
$divLimitPrice.hide();
}否则{
//显示分区组
$divLimitPrice.show();
}
});
});
价格类型
限价
`
嗯。。我试着修改代码,但我遗漏了一些东西!有什么想法吗?谢谢您的时间。您可以使用
.jquery
进行此操作
$(function () {
$('[id*="dropdown"]').on('change', function () {
var val = this.value,
$txtbox = $('[id*="txtLimitPrice"]');
if (val === 1 || val === 2) {
// Hide text box
$txtbox.hide();
} else {
// Show text box
$txtbox.show();
}
});
});
没有什么是不可能的。你可以做你在问题中提出的任何事情。也不需要切换到普通的HTML控件。如果您想隐藏文本框或div,这并不重要。我将向您展示一个没有aspx控件的简单示例。遵循同样的方法,你会得到你期望的结果 检查此链接 在div标记中,您可以使用任何aspx控件
<div>
<asp:textbox id="TxtSample" runat="server" />
</div>
Or Instead of DIV you can use Panels too
<asp:Panel ID="PnlLogin" runat="server">
-- -- Your Controls Here
</asp:panel>
或者也可以使用面板代替DIV
--你的控制权在这里
谢谢!我会给它一个快照谢谢你们,非常有用,非常感谢。使用服务器控件可以实现相同的行为。正如答案所示,实现这一点的最佳方法是在客户端使用jQuery。“服务器控件”可以通过切换.Visible属性来模拟此行为。例如,您可以在的SelectedIndexChanged事件的服务器端切换的.Visible属性。然后,您可以将所有内容包装在UpdatePanel中,使其无缝(AJAX)。