使用数组值验证动态生成的文本字段值

时间:2014-04-05 08:52:04

标签: jquery forms validation

如何根据预定义的数组值检查动态生成的文本字段值。我正在做凭证代码管理系统,用户可以通过单击添加文本字段的n nof在文本字段中添加多个凭证号。如何根据数组中的预定义值检查动态生成的文本字段值。

我在jquery中找到了inarray。但我不知道如何在多个文本字段中使用它。

我正在寻找类似以下链接的表单验证: https://www.optimusdatum.com/site/?page_id=997

1 个答案:

答案 0 :(得分:0)

试试这个,

var categories = ["one", "two"];
$(document).on("change", "input[type=text]", function () {
  if ($.inArray($(this).val(), categories) > -1) {
        alert("match occured");
    } else {
        alert("no match");
    }
});

Demo

由于您的文本字段是动态创建的,因此您需要使用delegates来绑定事件。

此外,您可以使用$.inArray(检查数组是否包含特定字符串。如果数组不包含字符串,则返回-1。

修改

如果你有多文本字段,请使用这样的

var categories = ["one", "two"];

$("input[type=button]").click(function () {
    $("error").removeClass("error");
    $("input[type=text]").each(function () {
        if ($.inArray($(this).val(), categories) < 0) {
            $(this).addClass("error");
        }
    });

});

Updated fiddle