阅读:6602 回复:18
mishanhhf
24

帖子

147

跟帖

3266

积分

黄金榴莲
黄金榴莲
  • 社区居民
  • 忠实会员

[已解决]选人控件获取当前行问题。

楼主#
更多 发布于:2017-03-16 13:28
    function GetBM(control) {
        var row = $(control).parent().parent().parent().parent().parent();
        var index = row.attr("data-row");
代码如上,现在遇到的问题是,手选的人是可以算出是第几行的。但是搜索出的人,选中之后就获取不到当前行了。也试过加减parent,但是都不能取到。
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
1楼#
发布于:2017-03-20 12:01
帖内置顶  –    –  2017-03-20 16:24
mishanhhf:就这样。搜索出来的获取不到行号。回到原帖
给你提供两个迂回的思路
第一个就是蠢一点,只要数据改变就子表做循环,每一行取值,然后给部门赋值。
第二个就是在$.MvcSheet.Validate = function () {} 表单的验证事件里面做。

像这种选人的控件,我是自己做了一个。h3自带的选人控件,极度的反人类,用的一点都不顺手。
mishanhhf
24

帖子

147

跟帖

3266

积分

黄金榴莲
黄金榴莲
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-03-16 13:28
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
3楼#
发布于:2017-03-16 14:15
获取控件用  var manager = $(control).SheetUIManager();
获取行号用 manager.GetRowNumber();
mishanhhf
24

帖子

147

跟帖

3266

积分

黄金榴莲
黄金榴莲
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-03-16 14:26
t156965365:获取控件用  var manager = $(control).SheetUIManager();
获取行号用 manager.GetRowNumber();
回到原帖
    function GetBM(control) {
        var row = $(control).SheetUIManager();
        var index = row.GetRowNumber();
调试的时候row = undefined
Cannot read property 'GetRowNumber' of undefined
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
5楼#
发布于:2017-03-16 14:53
mishanhhf:function GetBM(control) {
        var row = $(control).SheetUIManager();
        var index = row.GetRowNumber();
调试的时候ro...
回到原帖

刚去试了以下,选人控件的不太一样。如果是在change事件里面传this过去,直接就是sheetuser 对象。
可以用 this.GetRowNumber()或者this.RowNum直接得到行号。
看一下你用在什么地方,传进来的control是什么。
mishanhhf
24

帖子

147

跟帖

3266

积分

黄金榴莲
黄金榴莲
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-03-16 15:43
t156965365:刚去试了以下,选人控件的不太一样。如果是在change事件里面传this过去,直接就是sheetuser 对象。
可以用 this.GetRowNumber()或者this.RowNum直接得到行号。
看一下你用在什么地方,传进来的cont...
回到原帖
是选人控件的onchange事件传的this,传过来的值是input#id 这种格式,GetRowNumber()和.RowNum都取不到行号。
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
7楼#
发布于:2017-03-16 16:24
我刚试了,发现一个问题,如果没有选择过人,传过来的对象和已经选了人的不一样。
你按下面这个方式写,用的时候判断一下。
字段里面用data-onchange=“userChange(this);”
自定义函数
function userChange(e){
  if (!e.GetRowNumber) {
                e = $(e).SheetUser();
            }
            alert(e.GetRowNumber());}
试一下
mishanhhf
24

帖子

147

跟帖

3266

积分

黄金榴莲
黄金榴莲
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-03-16 16:39
t156965365:我刚试了,发现一个问题,如果没有选择过人,传过来的对象和已经选了人的不一样。
你按下面这个方式写,用的时候判断一下。
字段里面用data-onchange=“userChange(this);”
自定义函数
function userCha...
回到原帖
真是麻烦您了。。e.GetRowNumber()这个会报个e.GetRowNumber is not a function 这个错。把括号去了或者改成RowNum输出都是undefined。
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
9楼#
发布于:2017-03-17 10:41
mishanhhf:真是麻烦您了。。e.GetRowNumber()这个会报个e.GetRowNumber is not a function 这个错。把括号去了或者改成RowNum输出都是undefined。回到原帖
还是不行吗?
先判断有没有这个函数,没有就重新获取一下这个对象,我测试已经可以得到了。
上一页
1 2  »|
游客

返回顶部