我环顾四周,没找到任何具体的东西。
是否有关于如何根据是否选择了值来显示/隐藏表单或文本框的教程。
我有类似这个Dropdown框的内容(Add,item1,item2,item3等)
如果选择添加,则显示一个表单以添加一些属性,例如(名字,姓氏等)。否则它只会对所选项目执行操作。
答案 0 :(得分:0)
我会在客户端代码中连接它。在JavaScript或jQuery中处理select的onchange
事件并将处理程序绑定到它。由于“添加”是唯一会显示表单的人,因此在您的处理程序中检查所选值,如果是“添加”的值,则显示表单。如果是任何其他值,请隐藏表单。
如果要在服务器代码中执行此操作,只需处理更改选择的事件,并以此方式设置表单的visibility属性。无论哪种方式都应该很容易。
在客户端上执行此操作可以避免在回发时编码,同时消除了处理来自服务器的请求的责任。
答案 1 :(得分:0)
<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>
someform类的默认css显示属性为none,例如:
.someform{display:none;}
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>
因为没有安装任何软件的笔记本电脑上没有测试。
答案 2 :(得分:0)
如果你想从服务器端执行此操作,则需要将DrowpDown列表的AutoPostBack propetry设置为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