0

我正在使用脚本来使用 jQuery 自动更正表单上的输入。例如,当某人写“abc”作为他的首字母时,该字段将自动将输入直接更正为 ABC

这些脚本运行良好。但是,任何人都可以用多个名字填写多个表格。我正在使用淘汰赛来复制表格。到目前为止一切顺利,但自动更正不再适用于重复的字段..

自动更正看起来像这样(小部分):

// Lowercase
    $(".lowercase").keyup(function(e)
    {
        $(".lowercase").val(($(".lowercase").val()).toLowerCase());
        if (/[a-z]/g.test(this.value))
        {
            this.value = this.value.replace(/[^a-z ]/g, '');
        }

    });

    // Initials
    $(".initials").focus(function() {
        var current = $(".initials").val();
        $(".initials").keyup(function(e) {
            var key = String.fromCharCode(e.keyCode);
            if (key >= 'A' && key <= 'Z') {
                current += key + ".";
                this.value = current;
            }
            else {
                current = "";
            }
        });
    $(".initials").blur(function() {
        var i = $(".initials").val();
        var last = i[i.length - 1];
        if (last != "." && i.length !== 0){
            this.value += ".";
            }
        });
    });


    // Capitalize
    $(".cap").keyup(function(e)
    {
        function convertToUpper() {
        return arguments[0].toUpperCase();
         }
        val = this.value.toLowerCase().replace(/\b[a-z]/g, convertToUpper);
        this.value = val;

    });

可以在这里找到小提琴

更新

多亏了raghaw Numbers 现在可以工作了。但其他领域还没有

4

1 回答 1

1

您正在绑定事件,该事件不适用于将来创建的元素。这是我对您的代码所做的更改:

$(document).on("keyup", ".numbers", function(e)  
// $(".numbers").keyup(function(e)

您修改后的小提琴在这里http://jsfiddle.net/QUxyy/9/

于 2012-12-13T09:18:51.497 回答