【问题标题】:Changing input values on keyup by class name按类名更改 keyup 上的输入值
【发布时间】:2022-12-12 20:57:42
【问题描述】:

我正在尝试调整现有的 Jquery 脚本,该脚本在输入值时更正输入值的大小写 - 之前它是由我手动运行的,将 onkeyup 事件添加到输入以调用脚本,但我希望它基于类名代替。

我试图调整 keyup events using class instead of id 给出的指导,以便我的脚本在元素具有“correctcase”类时运行,但到目前为止还没有成功让脚本更新值,但我不清楚我错过了什么。

目前我有:

(function($) {

    $('.correctcase').keyup(function(event){
       
        return $(this).val().replace(
            /\w\S*/g,
            function(txt) {
                return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
            }
        );

    });

})( jQuery );

之前添加到元素的 onkeyup 属性是:

onkeyup="this.value=toTitleCase(this.value)"

所以我确定我只是在正确传递价值方面遗漏了一些东西?

【问题讨论】:

    标签: jquery keyup


    【解决方案1】:

    在事件处理程序中,您返回转换后的值,而不是需要使用它来设置输入元素的值。

    $('.correctcase').keyup(function(event){       
      const currentValue = $(this).val();
      const transformed =
            currentValue.replace(/wS*/g,
              function(txt) {                
                return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
              }
            );
      $(this).val(transformed);
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input type="text" class="correctcase" value="">

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2018-01-02
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      相关资源
      最近更新 更多