在MVC中设置焦点在ListView

时间:2016-05-13 13:50:27

标签: c# jquery asp.net-mvc listview

我有一个包含许多列表视图的MVC项目。我希望在列表视图中的第一个项目上设置焦点,以便用户只需按Enter键即可打开该项目?或使用箭头按钮向上或向下移动列表然后按Enter键。

我已经为数据输入视图做了类似的事情,我专注于第一个文本框或组合框。这是我用于此的代码:

$('.focus :input').focus();

然后在我看来:

<div class="col-md-3 focus">
     @Html.DropDownList("CategoryId", null, "Select Category", htmlAttributes: new { @class = "form-control" })
</div>

完美无缺,所以现在我想用我的列表视图来做。这就是我试过的:

$('.focus tr:first').focus();

在我看来:

<tr class="focus">

,不幸的是,这不起作用。所以,我做了一个搜索,我找不到任何MVC的答案,我可以找到Android,metro应用程序等的答案,但MVC没有。

2 个答案:

答案 0 :(得分:0)

https://api.jquery.com/focus/

focus()旨在处理元素的子集,例如表单输入和锚点。

它不适用于标准标记元素,如表格行或div等。

您可能要做的是在列表项元素

中使用锚点

<li><a href="#">List Item<a></li>然后将重点放在锚点上$('li a').focus();

答案 1 :(得分:0)

这是我设置第一个元素的方法。我尝试为您的html修改它。

$('[selector for your dropdown]').focus();
$('[selector for your dropdown]').val($('[selector for your dropdown] option:first').val()).change();