0

我在让我的代码正常工作时遇到了一些问题。用户可以添加更多输入框,我需要对它们进行验证。奇怪的是,如果我删除消息部分,它会起作用。

$("input.ing").each(function(){
    $(this).rules("add", {
        required: true,
        messages: {
            required: "Input a number"
        }
    });         
});

有任何想法吗?

提前致谢

树脂

编辑:发现这个 jsFiddle 可以满足需要,但是当我将代码复制到文档时,它不起作用!:( http://jsfiddle.net/jYwJE/

4

1 回答 1

1

引用 OP:“用户可以添加更多输入框,我需要对它们进行验证。”

以下代码比您的 jsFiddle 更具体。它表明当用户单击一个按钮时,newfield会在表单中添加一个名为的新字段,然后将规则动态添加到这个新字段中。

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        rules: {
            field1: {
                required: true,
                minlength: 5
            },
            field2: {
                required: true,
                minlength: 5
            }
        }
    });

    $('button#add').one('click', function () {
        var field = '<input type="text" name="newfield" /><br />';
        $('#myform').prepend(field);
        $('[name="newfield"]').rules("add", {
            required: true,
            messages: {
                required: "this new field is now required"
            }
        });
    });

});

演示:http: //jsfiddle.net/km6XE/

该演示仅显示如何添加一个input字段。如果您希望用户能够添加更多input元素,则需要确保您的代码为每个新元素创建一个唯一 的,否则您将破坏 Validate 插件。nameinput

于 2013-02-07T16:41:02.227 回答