页面未刷新时,Jquery无法正常运行

时间:2015-08-31 18:21:59

标签: javascript jquery asp.net-mvc

我有一个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()

1 个答案:

答案 0 :(得分:0)

      var searchMethod = $('#@Html.IdFor(model => model.SearchMethod)').val();

@Html在服务器端(MVC)呈现。

只有在呈现并发送到您的浏览器之后,您的jQuery才能看到它。 最后,如果你检查你的页面,你将找不到像这样的Id。

它应该是$(&#34; #ID在这里下降&#34;)

另一方面,jQuery无法运行模型上的函数,因此您必须使用View或者您的jQuery来执行此操作,而不是两者都这样。