起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6060|回复: 10

[结贴] gridselect回车控制

[复制链接]

127

主题

535

帖子

1076

积分

金牌会员

Rank: 6Rank: 6

积分
1076
QQ
发表于 2019-4-22 14:05:05 | 显示全部楼层 |阅读模式
现在页面从表数据是用grid进行显示的,其中有一个字段用的组件是select,其他组件用的是input,现在想要实现的是,按回车,能够跳到下一个input,然后input回车能够跳转gridselect,我现在input按完回车是跳转到了gridselect,但是焦点并没有在gridselect里面
1.png

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2019-4-22 14:49:03 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1076

积分

金牌会员

Rank: 6Rank: 6

积分
1076
QQ
 楼主| 发表于 2019-4-22 15:30:50 | 显示全部楼层
jishuang 发表于 2019-4-22 14:49
http://docs.wex5.com/bex5-ui-question-list-10333/

我是按照这个实现,但是没有gridselect中没有input,请问怎么实现?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2019-4-22 15:53:19 | 显示全部楼层
$(td).find("input")没获取到?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1076

积分

金牌会员

Rank: 6Rank: 6

积分
1076
QQ
 楼主| 发表于 2019-4-22 16:24:27 | 显示全部楼层
jishuang 发表于 2019-4-22 15:53
$(td).find("input")没获取到?

获取到了,不好意思是我理解错了
然后问题是我是在其中一列的input的Keydown事件中想要回车之后能够跳转到下一行的gridselect中并且能够直接输入数据的
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2019-4-22 16:51:17 | 显示全部楼层
跳转到下一行自己调用data中的方法去移动数据
然后同样的方式设置焦点啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1076

积分

金牌会员

Rank: 6Rank: 6

积分
1076
QQ
 楼主| 发表于 2019-4-22 17:01:33 | 显示全部楼层
jishuang 发表于 2019-4-22 16:51
跳转到下一行自己调用data中的方法去移动数据
然后同样的方式设置焦点啊

Model.prototype.input2Keydown = function(event) {
                var data = this.comp("detailData");
                var grid = this.comp("grid1");
                if (data.getLastRow() === data.getCurrentRow()) {
                } else {
                        if (event.keyCode == 13) {// 回车
                                grid.editStop();
                                data.next();
                                var rowid1 = data.getCurrentRowID();
                                grid.editCell(grid.getCell(rowid1, "fDyestuffNo"));
                                var gridselect = this.comp("gridSelect1");
                                var td = event.domEvent.target;// 获取触发事件的dom节点
                                if (td.tagName.toUpperCase() != 'TD') {// 当grid的列中放了input等组件时,获取的当前元素不是td
                                        td = $(td).closest('td')[0];// 获取到对应td
                                }
                                $(td).find("input").focus();// 把焦点设置到gridSelect的编辑框中
                                gridselect.showOption();
                        }
                }
        };
可是这样报错Cannot read property 'target' of undefined,是要怎么修改呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2019-4-22 17:14:05 | 显示全部楼层
var td = event.domEvent.target;这个要改为获取td的啊,不是event直接用的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1076

积分

金牌会员

Rank: 6Rank: 6

积分
1076
QQ
 楼主| 发表于 2019-4-22 17:58:01 | 显示全部楼层
jishuang 发表于 2019-4-22 17:14
var td = event.domEvent.target;这个要改为获取td的啊,不是event直接用的

这个td是获取什么的?怎么获取?不是很理解
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2019-4-23 09:19:00 | 显示全部楼层
  1.         Model.prototype.button15Click = function(event){
  2.                     var data = this.comp("mainData");
  3.                     var rowID = data.getCurrentRowID();
  4.                     var grid = this.comp("mainGrid");
  5.                     var gridselect = this.comp("gridSelect10");
  6.                     setTimeout(function() {       
  7.                             grid.editCell(grid.getCell(rowID, "fSZ"));
  8.                             gridselect.$domNode.find("input").focus();
  9.                             gridselect.showOption();
  10.                     }, 5);
  11.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-2 19:48 , Processed in 0.066895 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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