我是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>
答案 0 :(得分:0)
ASP.Net MVC适用于“name”属性,而不适用于“id”。使用@ Html.TextBox(“txtVendor”)创建元素时,只添加了name属性,没有向控件添加“id”属性。您可以通过在浏览器中查看页面的页面来检查这一点。
要使控件可见/不可见,您需要使用document.getElementByName('ele_name')或使用带有id属性的input标记来创建元素。