如何管理MVC 4中的dropdownlist事件更改

时间:2014-02-04 16:45:28

标签: javascript asp.net-mvc drop-down-menu

我是ASP.NET MVC 4的新手。我还在学习MVC中的新东西。我一直在谷歌寻找解决方案,但我不明白他们的代码。我有点困惑。所以我决定写这里作为我的要求。有一个下拉列表,其中包含供应商和状态列表。因此,当您选择值“供应商”时,应触发下拉列表事件以在javascript中传递值,以使文本框可见,否则不可见。当我尝试将事件传递给javascript时,我的代码不起作用。如何解决这个问题呢?您的完整示例代码非常感谢。感谢

Index.cshtml

    @Html.DropDownList("Direction", new List<SelectListItem>
  {
     new SelectListItem{ Text = "Vendor", Value = "0" },
    new SelectListItem{ Text = "Status", Value = "1" } 
  },new {onchange = "showTextBox(this)"})
   }

 @Html.TextBox("txtVendor") //how to make this invisible?
 @Html.Label("lblStatus")


 <script type="text/javascript">
    function showTextBox(item) {
    if (item.value == "Vendor") {
        document.getElementById('txtVendor').style.visibility = 'visible';
    }
    else if (item.value == "Status")
    {
       document.getElementById('lblStatus').style.visibility = 'visible';
    }

}
</script>

1 个答案:

答案 0 :(得分:0)

ASP.Net MVC适用于“name”属性,而不适用于“id”。使用@ Html.TextBox(“txtVendor”)创建元素时,只添加了name属性,没有向控件添加“id”属性。您可以通过在浏览器中查看页面的页面来检查这一点。

要使控件可见/不可见,您需要使用document.getElementByName('ele_name')或使用带有id属性的input标记来创建元素。