Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在MVC4中管理dropdownlist事件更改_Javascript_Asp.net Mvc_Drop Down Menu - Fatal编程技术网

Javascript 如何在MVC4中管理dropdownlist事件更改

Javascript 如何在MVC4中管理dropdownlist事件更改,javascript,asp.net-mvc,drop-down-menu,Javascript,Asp.net Mvc,Drop Down Menu,我是ASP.NETMVC4的新手。我还在MVC学习新的东西。我一直在谷歌周围寻找解决方案,但我不明白他们的代码。我有点困惑。所以我决定按我的要求写在这里。有一个下拉列表,其中列出了供应商和状态。因此,当您选择值“Vendor”时,dropdownlist事件应该触发以在javascript中传递值,使textbox可见,否则不可见。当我试图将事件传递到javascript时,我的代码不起作用。如何解决这个问题?非常感谢您的完整示例代码。谢谢 Index.cshtml @Html.Drop

我是ASP.NETMVC4的新手。我还在MVC学习新的东西。我一直在谷歌周围寻找解决方案,但我不明白他们的代码。我有点困惑。所以我决定按我的要求写在这里。有一个下拉列表,其中列出了供应商和状态。因此,当您选择值“Vendor”时,dropdownlist事件应该触发以在javascript中传递值,使textbox可见,否则不可见。当我试图将事件传递到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>
@Html.DropDownList(“方向”,新列表
{
新建SelectListItem{Text=“Vendor”,Value=“0”},
新建SelectListItem{Text=“Status”,Value=“1”}
},new{onchange=“showTextBox(this)”})
}
@TextBox(“txtVendor”)//如何使其不可见?
@Html.Label(“lblStatus”)
功能显示文本框(项目){
如果(项目值=“供应商”){
document.getElementById('txtVendor')。style.visibility='visible';
}
else if(item.value==“状态”)
{
document.getElementById('lblStatus')。style.visibility='visible';
}
}
ASP.Net MVC使用“名称”属性,而不是“id”。使用@Html.TextBox(“txtVendor”)创建元素时,只添加name属性,而没有向控件添加“id”属性。您可以通过在浏览器中查看页面的页面源来检查这一点


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

中的
函数showTextBox(item){alert('yes')}
您能看到函数是否使用头部的一些警报来执行吗?不知道该怎么做。也许你可以给我一个示例代码…@user235973457:在HTML中,你有一个
部分。当使用属性(例如,
)绑定到*事件上的
时,应该将
放在那里@BradChristie他可能正在使用布局模板,所以除非您查看布局或母版页,否则不会看到所有这些内容这是不正确的,至少对于MVC 4/Visual Studio 2012来说是如此,其中name和id属性都填充在输出中。