使用knockoutjs或jquery将焦点设置为gridview中的第一行

时间:2015-03-17 08:55:10

标签: javascript jquery asp.net knockout.js

我在ASP.NET中有一个动态网格,只要单击“搜索”按钮,就会使用Knockout.js获取数据。加载网格后,用户可以单击任意行以在弹出窗口中检查与该行相关的详细信息。

我想在这里实现的是,点击“搜索”按钮并加载网格中的数据后,焦点应设置为第一行,Enter键应触发点击事件(当用鼠标点击显示弹出窗口时。)

提前致谢!!

注意:使用Knockout js和jquery来获取和绑定asp.net中的数据

3 个答案:

答案 0 :(得分:0)

$("#search").click(function(){
     $("#first-row").focus();
})

//active your row   
if( $("#first-row").is(":focus")){
   $("#first-row").addClass("active") //maybe a style for this active row
}

$(document).keypress(function(e) {
     if(e.which == 13 && $("#first-row").hasClass("active")) {
         //redirect or show a div..
     }
});

那样的东西?

P.S:我不知道是否可以关注div或tr ^^

答案 1 :(得分:0)

您可以使用Knockouts hasFocus Binding

hasFocus绑定将DOM元素的焦点状态与viewmodel属性链接起来。这是双向绑定,所以:

如果将viewmodel属性设置为true或false,则关联元素将变为聚焦或未聚焦。

Link to Docs

答案 2 :(得分:0)

 Try this:
$(document).ready(function(){   
 var column = $("#<%=GridView1.ClientID %>").find("tr:eq(1)");   
 column.focus();   
});                 
 If it fails 
 try
 ClientIDMode="Static"