1

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

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

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

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

我已经尝试了一些组合来将焦点设置到这个框,但我尝试过的都没有。任何人都可以帮忙吗?

4

1 回答 1

1

您可以采取几个步骤来解决您的问题。首先,加载您的 html 并查看,正在呈现的 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 专为手写而设计。

于 2013-04-19T21:10:22.970 回答