jQuery MiniUI

标题: 单元格编辑器校验问题 [打印本页]

作者: Joseph    时间: 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、单元格编辑的时候如何实时的触发一个方法,且获取到当前编辑的行信息,且获取到当前编辑的单元格的内容啊

作者: felt    时间: 2021-12-8 16:27:58

1 不符合规则的数据会自动清除,默认给到最小值
2 有开启编辑事件,完成编辑事件,结束编辑事件
cellbeginedit,cellcommitedit,cellendedit
作者: Joseph    时间: 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.     }
复制代码
为什么不生效啊,我想的是如果这个值不符合规范的话我用正则表达式校验一下然后给他赛一个值,这样可以实现吗,就是我改动了一个单元格,我就只获取到当前单元格,我赋值的时候也给这个单元格赋值这样可以实现吗大佬
作者: Joseph    时间: 2021-12-8 16:47:17

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

我找到方法了,谢谢大佬
作者: Joseph    时间: 2021-12-8 17:17:50

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

还有一个问题就是如果我不想让他自动清除默认给到最小值该怎么操作啊,因为重新赋值我不知道它之前的值了
作者: Joseph    时间: 2021-12-8 17:37:07

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

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


作者: felt    时间: 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;
          }
    }

})
作者: Joseph    时间: 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,如果为数字(包括正负数和小数)则不改变其值,如果超过最大值和最小值则还是赋值为最大和最小值,刚刚您发的这个我试了,这个是取消编辑返回到原始的值,并不会获取到我输入的非数字的字符串
作者: felt    时间: 2021-12-9 13:48:47

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

数字框就是这样,只能是数字,其他内容不保留。
作者: happylover1278    时间: 2021-12-9 13:57:27

你这么详细的规则   那就用textbox吧   然后自己详细去写处理方法
作者: Joseph    时间: 2021-12-9 14:03:41

happylover1278 发表于 2021-12-9 13:57
你这么详细的规则   那就用textbox吧   然后自己详细去写处理方法

主要是产品非得这么要求,唉
作者: Joseph    时间: 2021-12-9 14:05:20

felt 发表于 2021-12-9 13:48
数字框就是这样,只能是数字,其他内容不保留。

那可不可以输入其他格式的给他赋值为0呢,不让他赋值到最小值,我通过编辑结束事件的话还是会闪一下最小值
作者: Joseph    时间: 2021-12-9 14:35:09

felt 发表于 2021-12-9 13:48
数字框就是这样,只能是数字,其他内容不保留。

那可不可以如果输入其他格式让他默认赋值为0啊,不赋值为最小值,我试了编辑结束事件和编辑完成事件我debugger跟了一下也都是赋值为最小值之后才触发的
作者: happylover1278    时间: 2021-12-9 14:36:27

Joseph 发表于 2021-12-9 14:03
主要是产品非得这么要求,唉

用textbox   然后在表格cellcommitedit事件中处理这个值怎么变化把
作者: Joseph    时间: 2021-12-9 14:44:57

happylover1278 发表于 2021-12-9 14:36
用textbox   然后在表格cellcommitedit事件中处理这个值怎么变化把

主要是产品那边还得要那个上下加减值的那个按钮还是得用spinner




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2