JQuery检查类中的重复项

时间:2018-03-07 14:44:36

标签: jquery

我正处于一个客户需要创建自定义HTML表单的项目中。我已经设法在这里创建了一个表单构建器:

https://jsfiddle.net/Rockhopper92/supv9019/

然后,用户可以为每个表单元素命名,但这需要是唯一的名称,因为当在单独的页面上输出表单时,它将用作实际的name =“”元素。

所以我的问题是如何使用class =“info”循环输入以检查给定值是否唯一?作为一个警告,因为它进入数据库的方式,一旦删除了空格,它就需要是唯一的,例如:

文字1& Text1将显示为重复。

到目前为止,我已经写过:

$("form.forms").on("submit", function(e){
    e.preventDefault();
    var total = $(".info").length;
    var x = 1;
    while(x <= total){
        //what do I do here!!
    x++
    }
});

我已经设法让它确定有多少元素具有info类,然后遍历那么多元素。我正在努力的是如何将数字1与所有其他数据进行比较,然后将2与其他数据进行比较...等等。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

最后设法让这个工作。问题是表单元素没有绑定到JQuery,因为它是在初始页面加载后创建的,所以我运行这个脚本INSIDE我的更广泛的函数来创建其他表单元素:

$('form.forms').submit(function(e) {
  var ar = $('#myForm input').map(function() {
    if ($(this).val() != '') return $(this).val()
  }).get();

  var unique = ar.filter(function(item, pos) {
    return ar.indexOf(item) != pos;
  });

  if(unique.length != 0){
    e.preventDefault();
    alert('duplicate')
    }
});

如果表单中存在重复值,则仅阻止表单提交。