jQuery MiniUI

标题: combobox 如何去掉前后空格 [打印本页]

作者: chenwanpeng    时间: 2020-10-27 17:16:08     标题: combobox 如何去掉前后空格

用户复制有前后空格,导致无法匹配列表项
[attach]13007[/attach]

作者: felt    时间: 2020-10-28 09:40:04

这需要你自己处理,获取内部输入框元素,绑定粘贴事件,清除空格
var combo1 = mini.get("combo1");
    var el=combo1.getTextEl();
    el.onpaste = function () {
        console.log(1111);
        var sf = this;
        setTimeout(function () {
            sf.value = sf.value.replace(/[, ]/g, '')
        }, 5);
    }
作者: chenwanpeng    时间: 2020-10-28 15:01:32

felt 发表于 2020-10-28 09:40
这需要你自己处理,获取内部输入框元素,绑定粘贴事件,清除空格
var combo1 = mini.get("combo1");
    v ...

这个是黏贴的,如果用户手动输入了前后空格呢?
作者: 哎呀    时间: 2020-10-28 15:43:57

chenwanpeng 发表于 2020-10-28 15:01
这个是黏贴的,如果用户手动输入了前后空格呢?

onkeyup=function(){....}

作者: chenwanpeng    时间: 2020-10-29 09:05:32

本帖最后由 chenwanpeng 于 2020-10-29 17:09 编辑
felt 发表于 2020-10-28 09:40
这需要你自己处理,获取内部输入框元素,绑定粘贴事件,清除空格
var combo1 = mini.get("combo1");
    v ...

你好,版主,这个能否写在全局里面,因为我们系统太多页面要修改了。
作者: chenwanpeng    时间: 2020-10-29 17:10:40

頂帖
作者: felt    时间: 2020-10-29 18:00:59

本帖最后由 felt 于 2020-10-30 17:32 编辑
chenwanpeng 发表于 2020-10-29 17:10
頂帖
  1. (function () {

  2.     function init(){
  3.         var combo= this;
  4. var el=combo.getTextEl();
  5. el......
  6.     }

  7.     var set = mini.ComboBox.prototype.set;
  8.             init.call(this);
  9.         set.apply(this, arguments);
  10.     }
  11. })();
复制代码




作者: chenwanpeng    时间: 2020-10-30 14:14:54

felt 发表于 2020-10-29 18:00

不能使用,报错[attach]13011[/attach]

作者: felt    时间: 2020-10-30 17:32:37

chenwanpeng 发表于 2020-10-30 14:14
不能使用,报错

写错了,修改
是ComboBox
作者: chenwanpeng    时间: 2020-11-3 14:05:03

felt 发表于 2020-10-30 17:32
写错了,修改
是ComboBox

也不行哦[attach]13025[/attach]
作者: felt    时间: 2020-11-3 15:24:45

chenwanpeng 发表于 2020-11-3 14:05
也不行哦

哦,被吃了部分代码
  1. (function () {

  2.        function init() {
  3.            var combo = this;
  4.            var el = combo.getTextEl();
  5.            
  6.        }

  7.        var set = mini.ComboBox.prototype.set;
  8.        mini.ComboBox.prototype.set = function () {
  9.            init.call(this);
  10.            set.apply(this, arguments);
  11.        }
  12.    })();
复制代码

作者: chenwanpeng    时间: 2020-11-10 17:27:00

felt 发表于 2020-11-3 15:24
哦,被吃了部分代码

不好意思,版主

//自定義擴展
function _initExtensions() {
    var combo = this;
    var el = combo.getTextEl();
    el.onkeyup = function () {
        var $this = this;
        if (!!$this.value) {
            setTimeout(function () {
                $this.value = $.trim($this.value);
            });
        }
    }
}
var comboBoxSet = mini.ComboBox.prototype.set;
mini.ComboBox.prototype.set = function () {
    _initExtensions.call(this);
    comboBoxSet.apply(this, arguments);
}

使用这些代码,是可以替换前后空格,输入完后,再按空格就不行了,但是明明下拉框存在的,没有显示出来,请看截图[attach]13040[/attach][attach]13041[/attach]
作者: chenwanpeng    时间: 2020-11-16 14:43:46

顶一下
作者: felt    时间: 2020-11-16 17:20:06

chenwanpeng 发表于 2020-11-16 14:43
顶一下

因为这样处理相当于没按空格,按键一放空格就已经被清除了
作者: chenwanpeng    时间: 2020-11-17 11:52:36

felt 发表于 2020-11-16 17:20
因为这样处理相当于没按空格,按键一放空格就已经被清除了

是清空了空格,但是数据不匹配了,一条数据都没了
作者: sunxue299    时间: 2020-11-17 15:20:01

chenwanpeng 发表于 2020-11-17 11:52
是清空了空格,但是数据不匹配了,一条数据都没了

f12看是没返回,还是有返回没显示
作者: chenwanpeng    时间: 2020-11-18 11:51:02

felt 发表于 2020-11-16 17:20
因为这样处理相当于没按空格,按键一放空格就已经被清除了

版主你好,有办法处理吗?这个对我们来说真重要!
作者: felt    时间: 2020-11-18 15:53:52

chenwanpeng 发表于 2020-11-18 11:51
版主你好,有办法处理吗?这个对我们来说真重要!

没有太好的办法,空格本来就是允许的输入内容




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