FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 10419|回复: 10
打印 上一主题 下一主题

如何在Grid在的文本框中实现回车后跳转到下一行文本框?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-3 06:34:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在FineUI官网Demo中,http://fineui.com/demo/#/demo/grid/grid_edit.aspx演示了使用Tab键遍历所有的文本输入框。
如果想要用回车(Enter)来遍历所有的文本输入框,不知该如何实现?
请大家指点一下!谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2013-1-3 14:33:18 | 只看该作者
板凳
 楼主| 发表于 2013-1-3 16:30:47 | 只看该作者
好的,我试下在Grid中能不能实现,谢谢了。
地板
 楼主| 发表于 2013-1-6 00:39:31 | 只看该作者
试了一下,还是无法使用在Grid中的模板列……
5#
发表于 2013-1-6 02:21:18 | 只看该作者
-增强grid/grid_edit.aspx示例,现在可以通过回车键遍历所有的文本框。

可以下载源代码自己编译。

也可以自己修改页面的JavaScript代码:
  1. <script type="text/javascript">
  2.         var gridClientID = '<%= Grid1.ClientID %>';

  3.         function registerSelectEvent() {
  4.             var grid = X(gridClientID);
  5.             grid.el.select('.x-grid-tpl input').on('click', function (evt, el) {
  6.                 el.select();
  7.             });
  8.         }

  9.         function registerEnterEvent() {
  10.             var grid = X(gridClientID);
  11.             grid.el.select('.x-grid-tpl input').on("keydown", function (evt, el) {
  12.                 if (evt.getKey() == evt.ENTER) {
  13.                     var nextRow = Ext.get(el).parent('.x-grid3-row').next();
  14.                     if (nextRow) {
  15.                         nextRow.query('.x-grid-tpl input')[0].select();
  16.                     }
  17.                 }
  18.             });
  19.         }

  20.         function onReady() {
  21.             var grid = X(gridClientID);

  22.             grid.on('viewready', function () {
  23.                 registerSelectEvent();

  24.                 registerEnterEvent();
  25.             });
  26.         }

  27.         function onAjaxReady() {
  28.             registerSelectEvent();

  29.             registerEnterEvent();
  30.         }
  31.     </script>
复制代码
6#
 楼主| 发表于 2013-1-6 09:00:29 | 只看该作者
sanshi 发表于 2013-1-6 02:21
-增强grid/grid_edit.aspx示例,现在可以通过回车键遍历所有的文本框。

可以下载源代码自己编译。

老大威武!我把JS代码复制到aspx页面,一测试就成功了!太感谢了!大力支持FineUI!
希望有同样回车换行需求的FineUI爱好者参考此贴!!!
7#
发表于 2013-1-9 15:07:07 | 只看该作者
sanshi 发表于 2013-1-6 02:21
-增强grid/grid_edit.aspx示例,现在可以通过回车键遍历所有的文本框。

可以下载源代码自己编译。

衍生上下键操作
8#
 楼主| 发表于 2013-1-14 04:07:31 | 只看该作者
本帖最后由 Mr.Wu 于 2013-1-14 04:11 编辑

再次遇到了一个问题:点击按钮绑定Grid数据后,无法执行前台JS焦点跳转函数,怎么办?

代码:
        protected void btnSearch_click(object sender, EventArgs e)
        {
            //绑定数据
            BindGrid();
            //跳转到第一个考生录入框
            PageContext.RegisterStartupScript("registerGridSelectFirstEvent()");
        }

前台JS:         
         //设置Grid分数模板列第一行被选中
           function registerGridSelectFirstEvent() {
               var grid = X(gridClientID);
               grid.el.query('.x-grid-tpl input')[0].focus();
               grid.el.query('.x-grid-tpl input')[0].select();            
         }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
9#
发表于 2013-6-3 08:02:25 | 只看该作者
这个在实际的项目中我也会用到,为了方便快速录入,提高用户体验.收藏一下.
10#
发表于 2013-6-4 18:27:32 | 只看该作者
{:soso_e179:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-9-28 05:27 , Processed in 0.049054 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表