使用jquery为MVC(Html.TextBoxFor)设置焦点

时间:2013-04-19 20:59:28

标签: jquery asp.net-mvc-3

我正在研究一个MVC项目,并试图将重点放在这个上:

<td><%=Html.TextBoxFor(de => Model.EmailAddress1)%></td>

我的jquery位于页面顶部附近的同一视图中:

<script type="text/javascript">
    $(document).ready(function () {
        $("[id$=MainContent_EmailAddress1").focus();
        $("#EmailAddress1").focus();
    });
</script>

我尝试了一些组合将焦点设置到此框但是我尝试过的任何工作都没有。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您可以采取几个步骤来解决问题。首先,加载你的html,看看,天气正在呈现的id与你提供的id匹配。其次,我宁愿建议你采用更加严格的方法来捕获元素,或者控制输出。

您可以添加一个额外的功能类来抓取元素

Html.TextBoxFor(x => x.EmailAddress1, new { @class = "fHandleClass" });

和脚本

<script type="text/javascript">
//<![CDATA[
  $(function(){
      $(".fHandleClass").focus();
  });
//]]>
</script>

或者你可以直接控制id

Html.TextBoxFor(x => x.EmailAddress1, new { id = "MyExactId" });

和脚本

<script type="text/javascript">
//<![CDATA[
  $(function(){
      $("#MyExactId").focus();
  });
//]]>
</script>

最后,我建议您切换到剃刀视图引擎。更好的是,Web表单视图引擎的设计是为了让设计师理解,它对手写不是很友好。 Razor专为手写而设计。