C# 基于下拉框选择隐藏/显示表单
我环顾四周,没有发现任何具体的东西 是否有关于如何基于是否选择值显示/隐藏表单或文本框的教程 我有一个类似的下拉框,上面有Add、item1、item2、item3等C# 基于下拉框选择隐藏/显示表单,c#,javascript,asp.net,asp.net-mvc,ado.net,C#,Javascript,Asp.net,Asp.net Mvc,Ado.net,我环顾四周,没有发现任何具体的东西 是否有关于如何基于是否选择值显示/隐藏表单或文本框的教程 我有一个类似的下拉框,上面有Add、item1、item2、item3等 如果选择了“添加”,则显示要添加的表单,该表单具有一些属性,如名字、姓氏等。。否则它将只对所选项目执行一个操作。我将在客户机代码中对此进行连接。在JavaScript或jQuery中处理select的onchange事件,并将处理程序绑定到它。由于Add是唯一一个显示表单的,因此在处理程序中检查所选的值,如果是Add的值,则显示表
如果选择了“添加”,则显示要添加的表单,该表单具有一些属性,如名字、姓氏等。。否则它将只对所选项目执行一个操作。我将在客户机代码中对此进行连接。在JavaScript或jQuery中处理select的onchange事件,并将处理程序绑定到它。由于Add是唯一一个显示表单的,因此在处理程序中检查所选的值,如果是Add的值,则显示表单。如果它是任何其他值,请隐藏窗体 如果要在服务器代码中执行此操作,只需处理更改选择的事件,并以这种方式设置窗体的可见性属性。无论哪种方式都应该很容易 在客户机上执行此操作可以避免在回发周围编码,同时免除处理来自服务器的请求的责任
<select id="target">
<option value="option1" selected="selected">Add</option>
<option value="option2">Item1</option>
</select>
<input type="text" class="textboxclass" />
<div class="someform">
//content
</div>
Jquery脚本
<script>
$('#target').change(function() {
var name = $('#target option:selected'),text(); //Item1
var id = $('#target').val(); // option2
if(id =="option2"){
//your logic for this option
//hide textbox
$('.textboxclass').hide();
$('.someform').show();
}else{
$('.textboxclass').show();
$('.someform').hide();
}
//other if else logic
});
</script>
未测试,因为im在笔记本电脑上未安装任何软件。如果要从服务器端执行此操作,需要将DrowDown列表的AutoPostBack属性设置为true 在DropdownList的SelectedIndexChanged事件中 试试这个
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex == 0)
{
entryForm.Visible = true;
viewForm.Visible = false;
}
else if (DropDownList1.SelectedIndex == 1)
{
entryForm.Visible = false;
viewForm.Visible = true;
}
但是这不是一个好的解决方案,我建议按照上面给出的答案,用JavaScript或JQuery来实现它嘿,除了一个bug之外,这非常有效,只要页面加载完毕,就会显示所有div。例如,如果“我的选项1”在页面上启动,则textboxclass和someform都可见,其中只有一个应该可见。添加显示:对于您希望隐藏的所有div,在css中无
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex == 0)
{
entryForm.Visible = true;
viewForm.Visible = false;
}
else if (DropDownList1.SelectedIndex == 1)
{
entryForm.Visible = false;
viewForm.Visible = true;
}