我有一个MVC页面,显示和隐藏一些文本框依赖于使用Jquery的下拉值更改。该页面正在单独工作,但当我进入菜单时,当我转到其他菜单选项并返回到此时,它显示所有文本框。这是我在视图中的Jquery代码:
<div class="clearfix" style="margin-top:20px">
Search By:
@Html.DropDownListFor(model => model.SearchMethod, Model.AvailableSearchMethods, new { onchange = "toggleDIvDisplay(this.value)" })
</div>
<div id="divAppName" class="pull-left" style="margin-top:35px">
First Name:
@Html.TextBoxFor(model => model.FirstName)
Last Name:
@Html.TextBoxFor(model => model.LastName)
</div>
<div id="divSSN" class="pull-left" style="margin-top:35px">
SSN:
@Html.TextBoxFor(model => model.SSN)
</div>
<div id="divRemref" class="pull-left" style="margin-top:35px">
RemRef:
@Html.TextBoxFor(model => model.RemoteRefNumber)
</div>
<div class="pull-left" style="margin-top:35px;margin-left:50px">
<button class="btn btn-success search pull-left">Search</button>
</div>
这是我在视图中的文本框和搜索按钮:
<li>@Html.ActionLink("Application Document Lookup", "Search", "Doc")</li>
这是菜单中的链接:
this.context.router.transitionTo()
答案 0 :(得分:0)
var searchMethod = $('#@Html.IdFor(model => model.SearchMethod)').val();
@Html在服务器端(MVC)呈现。
只有在呈现并发送到您的浏览器之后,您的jQuery才能看到它。 最后,如果你检查你的页面,你将找不到像这样的Id。
它应该是$(&#34; #ID在这里下降&#34;)
另一方面,jQuery无法运行模型上的函数,因此您必须使用View或者您的jQuery来执行此操作,而不是两者都这样。