以下是Jsfiddle中的代码
它是创建新表单的简单形式:标签及其输入
我已经做了四次验证:
但是有一个新问题:如果我输入已经存在的输入ID,它将为同一标签添加第二个输入,
例如:
我创建了两个标签及其输入
如果我进入" a" in"输入id"再次,它将添加第二个输入标签" a"
如果我再次添加相同的标签,那么添加输入是同样的问题,它会添加到它们两个
为了避免这个问题,我认为我需要检查:如果输入值与任何现有输入ID匹配,那么不要添加输入,标签相同
我试着这样做:
var inputExist = [];
inputExist.push($('#input_id').val());
for
中执行循环else
以检测输入值是否与数组中的任何元素匹配for (var i = 0; i < inputExist.length; i++){
if($('#input_id').val() == inputExist[i]){}
}
if
condiction基于循环,我必须将if
放在循环中,这也意味着else
,这样会导致添加输入顺序为{{1时间,不好!
我不知道如何分离检测和所遵循的指令
有什么想法吗?答案 0 :(得分:1)
创建一个数组,用于存储已添加的标签(或值);
var labelsArray = [];
var valuesArray = [];
然后,当您处理按钮单击时,添加以下检查:
var currentLabel = $('#lable_name').val();
if(labelsArray.indexOf(currentLabel) > -1){
return;
}
另外,你可以使用jQuery函数:
$.inArray(currentLabel, labelsArray)
对值执行相同操作,您将能够避免重复。
另外,您可以使用jQuery搜索输入