如何在此 JQuery 代码中保持动态分配的输入的 val() ?

问题描述

我有一个带正则表达式的小数输入控制值。

$(".myInput").inputFilter(function(value) { return /^\d*[.]?\d{0,2}$/.test(value) && (value === "" || parseFloat(value) <= 100000000); });

如果我像动态一样更改值

$(".myInput").val(xxxx);

之后,当输入被点击时,值变为旧值...

怎么才能避免呢?我想要动态分配的山谷。

“inputFilter”函数

$.fn.inputFilter = function(inputFilter) {
    return this.on("input keydown keyup mousedown mouseup select contextmenu drop",function() {
      if (inputFilter(this.value)) {
        this.oldValue = this.value;
        this.oldSelectionStart = this.selectionStart;
        this.oldSelectionEnd = this.selectionEnd;
      } else if (this.hasOwnProperty("oldValue")) {
        this.value = this.oldValue;
        this.setSelectionRange(this.oldSelectionStart,this.oldSelectionEnd);
      } else {
        this.value = "";
      }
    });
};

这里的代码工作:https://jsfiddle.net/6z38urvt/

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...