2

我环顾四周,没有发现任何具体的东西。

是否有任何关于如何根据是否选择值来显示/隐藏表单或文本框的教程。

我有类似这个下拉框的东西(添加,项目1,项目2,项目3等..)

如果选择了添加,则显示要添加的表单,添加一些属性,例如(名字,姓氏等),否则它只会对所选项目执行操作。

4

3 回答 3

0

我会在客户端代码中连接它。在 JavaScript 或 jQuery 中处理 select 的onchange事件并将处理程序绑定到它。由于“ Add ”是唯一会显示表单的选项,因此在您的处理程序中检查选定的值,如果它是“ Add ”的值,则显示表单。如果它是任何其他值,则隐藏表单。

如果您想在服务器代码中执行此操作,只需处理选择更改的事件并以这种方式设置表单的可见性属性。无论哪种方式都应该很容易。

在客户端上执行此操作可以避免围绕回发进行编码,同时消除处理来自服务器的请求的责任。

于 2012-10-19T21:05:12.673 回答
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>

某个类的默认 css 显示属性为无,例如:

.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>

因为我在笔记本电脑上没有安装任何软件,所以没有测试过。

于 2012-10-20T03:29:56.970 回答
0

如果您想从服务器端执行此操作,您需要将 DrowpDown 列表的 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

于 2012-10-20T07:50:31.947 回答