jQuery MiniUI

 找回密码
 立即注册
查看: 5932|回复: 14
打印 上一主题 下一主题

单元格编辑器校验问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2021-12-8 14:38:08 |只看该作者 |倒序浏览
本帖最后由 Joseph 于 2021-12-8 14:48 编辑

1、使用单元格编辑器的时候,我的编辑器写了一个可以调整数字的编辑器
  1. <input property="editor" class="mini-spinner" minValue="-1000" maxValue="1200" style="width:100%;"/>
复制代码
为什么我输入其他格式的比如字母之类的他会默认自动给赋值到minValue属性值,我想让他赋值为0该怎么实现啊
2、单元格编辑的时候如何实时的触发一个方法,且获取到当前编辑的行信息,且获取到当前编辑的单元格的内容啊

Rank: 8Rank: 8

沙发
发表于 2021-12-8 16:27:58 |只看该作者
1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbeginedit,cellcommitedit,cellendedit

Rank: 2

板凳
发表于 2021-12-8 16:41:09 |只看该作者
felt 发表于 2021-12-8 16:27
1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbegine ...

我找到了这个api,我想用内容改变事件valuechanged
  1. <input property="editor" class="mini-spinner" minValue="-1000" maxValue="1000" decimalPlaces="1" valuechanged="txtChange()" style="width:100%;"/>
复制代码
  1.     function txtChange(e){
  2.         debugger
  3.         alert(111)

  4.     }
复制代码
为什么不生效啊,我想的是如果这个值不符合规范的话我用正则表达式校验一下然后给他赛一个值,这样可以实现吗,就是我改动了一个单元格,我就只获取到当前单元格,我赋值的时候也给这个单元格赋值这样可以实现吗大佬

Rank: 2

地板
发表于 2021-12-8 16:47:17 |只看该作者
felt 发表于 2021-12-8 16:27
1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbegine ...

我找到方法了,谢谢大佬

Rank: 2

5#
发表于 2021-12-8 17:17:50 |只看该作者
felt 发表于 2021-12-8 16:27
1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbegine ...

还有一个问题就是如果我不想让他自动清除默认给到最小值该怎么操作啊,因为重新赋值我不知道它之前的值了

Rank: 2

6#
发表于 2021-12-8 17:37:07 |只看该作者
本帖最后由 Joseph 于 2021-12-8 17:40 编辑
felt 发表于 2021-12-8 16:27
1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbegine ...

而且这个输入框,本来我是展示的字符串,我想用这个数字的框,我点击编辑这个框即使我不修改值,他也会把这个字符串修改成值吗?下面这个我这个本来是有加号和减号的,但是点击编辑框后就覆盖了

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

7#
发表于 2021-12-8 17:43:06 |只看该作者
Joseph 发表于 2021-12-8 17:17
还有一个问题就是如果我不想让他自动清除默认给到最小值该怎么操作啊,因为重新赋值我不知道它之前的值了 ...

grid.on("cellcommitedit",function(e){
    if(e.field=="...."){
           if(e.value=="...."){
                e.cancel=true;
          }
    }

})

Rank: 2

8#
发表于 2021-12-8 17:52:20 |只看该作者
felt 发表于 2021-12-8 17:43
grid.on("cellcommitedit",function(e){
    if(e.field=="...."){
           if(e.value=="...."){

你好,您可能误解我了,我的意思是,这个框只能输入数字,但是如果我输入了字母之类的,他会重新赋值为最小值,但是我想通过valuechanged内容改变事件来进行赋值,然后通过正则表达式来校验是否输入的是数字,如果输入不是数字则赋值为0,如果为数字(包括正负数和小数)则不改变其值,如果超过最大值和最小值则还是赋值为最大和最小值,刚刚您发的这个我试了,这个是取消编辑返回到原始的值,并不会获取到我输入的非数字的字符串

Rank: 8Rank: 8

9#
发表于 2021-12-9 13:48:47 |只看该作者
Joseph 发表于 2021-12-8 17:52
你好,您可能误解我了,我的意思是,这个框只能输入数字,但是如果我输入了字母之类的,他会重新赋值为最 ...

数字框就是这样,只能是数字,其他内容不保留。

Rank: 6Rank: 6

10#
发表于 2021-12-9 13:57:27 |只看该作者
你这么详细的规则   那就用textbox吧   然后自己详细去写处理方法

Archiver|普加软件

GMT+8, 2024-11-26 06:24 , Processed in 1.052289 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部