gpt4 book ai didi

angularjs掩码覆盖字符

转载 作者:行者123 更新时间:2023-12-04 19:08:19 26 4
gpt4 key购买 nike

我使用 angular-ui 掩码模块在日期字段上设置了掩码,如下所示:

<input type="text"
id="date"
ng-model="transaction.date"
ui-mask="99/99/9999" />

如果我在该字段中有 30/05/2013 并且想通过简单地在开头放置一个“1”来将其更改为 10/05/2013,它会将所有字符推到 13/00/5201 上。

有没有办法强制 ui-mask 覆盖插入它的字符? (这将使某人免于点击“删除”然后是 Angular 色。

示例: http://jsfiddle.net/5NbD7/
如果您在我的示例前面键入“30”,您最终会得到 30/01/0120 我宁愿它覆盖字符并生成 30/01/2010

最佳答案

我不知道有没有更简单的方法,但是您尝试以下方法:

  • 如果您还没有这样做,您将需要从源代码下载未压缩的 mask.js 并将其链接到您的 html 中。

  • https://rawgithub.com/angular-ui/ui-utils/master/modules/mask/mask.js
  • 然后你需要像这样修改 mask.js 的源代码(搜索评论 //Update Values 并将此代码放在下面):

  • ...
             // Update values
    if (oldValueUnmasked !== "" && oldValueUnmasked!==valUnmasked && !isDeletion) {
    var charIndex = maskCaretMap.indexOf(caretPos);
    if (charIndex === -1) {
    charIndex = maskCaretMap.indexOf(caretPos+1);
    }
    valUnmasked=valUnmasked.substr(0,charIndex).concat(oldValueUnmasked.substr(charIndex,valUnmasked.length));
    }

    ...

    现在,在更新值之前,掩码将根据光标(插入符号)的位置,将旧值中的字符和新值中的字符连接起来。

    这绝不是一个万无一失的解决方案,但它应该让您知道如果您想更多地自定义输入或检查此更改是否不会破坏其他任何内容,该在哪里查看。

    fiddle :
    http://jsfiddle.net/CALvj/

    关于angularjs掩码覆盖字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18997400/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com