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