Javascript 检查现有数据的数组值验证错误

Javascript 检查现有数据的数组值验证错误,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,数组值验证错误option else语句不起作用 我需要使用jquery检查数组中的值是否存在 $(document).ready(function (){ $('.txtbox').focusout(function () { var bind = [10]; var data = $(this).val(); for (var j = 0; j < 10; j++) { if (bind[j] ==

数组值验证错误option else语句不起作用 我需要使用jquery检查数组中的值是否存在

   $(document).ready(function (){
   $('.txtbox').focusout(function () {
    var bind = [10];
    var data = $(this).val();

            for (var j = 0; j < 10; j++) {
                if (bind[j] == data) {
                    alert("This Name Is Already Exist");
                    $(this).val("");
                    $(this).focus();                        
                }
                else {
                    bind[j] = data;
                }
            }
      });
     });
$(文档).ready(函数(){
$('.txtbox').focusout(函数(){
var-bind=[10];
var data=$(this.val();
对于(var j=0;j<10;j++){
if(绑定[j]==数据){
警报(“此名称已存在”);
$(此).val(“”);
$(this.focus();
}
否则{
bind[j]=数据;
}
}
});
});
Html代码:

 <input type="text" class = "txtbox" id="0"/>
 <input type="text" class = "txtbox" id="1"/>
 <input type="text" class = "txtbox" id="2"/>

数据中只有一个元素,在第二次迭代中,
bind[j]==data
将通过异常,因为数组中仍然有一个元素,并且您正试图访问第二个元素,因为
j=1
指向数组的第二个元素。这导致了例外。最好使用indexOf来查找数组中的元素。还要在事件处理程序外部声明数组,使其成为全局数组,以便在下一次
focusout
调用之前保存数据

$(document).ready(function (){
   var bind = [];
   var j = 0;
   $('.txtbox').focusout(function () {       
        var data = $(this).val();           
        if (bind.indexOf(data) != -1) {
             alert("This Name Is Already Exist");
             $(this).val("");
             $(this).focus();                        
        }
        else {
            bind[j++] = data;
       }            
    });
});

数据中只有一个元素,在第二次迭代中,
bind[j]==data
将通过异常,因为数组中仍然有一个元素,并且您试图访问第二个元素,因为
j=1
指向数组的第二个元素。这导致了例外。最好使用indexOf来查找数组中的元素。还要在事件处理程序外部声明数组,使其成为全局数组,以便在下一次
focusout
调用之前保存数据

$(document).ready(function (){
   var bind = [];
   var j = 0;
   $('.txtbox').focusout(function () {       
        var data = $(this).val();           
        if (bind.indexOf(data) != -1) {
             alert("This Name Is Already Exist");
             $(this).val("");
             $(this).focus();                        
        }
        else {
            bind[j++] = data;
       }            
    });
});


var-bind=[10];不创建大小为10的数组…而是只包含一个元素的数组。因此,不能对该数组应用10次迭代的循环

var-bind=[10];不创建大小为10的数组…而是只包含一个元素的数组。因此,不能对该数组应用10次迭代的循环

你的代码!!!分享你的html代码我不知道如何使用fiddleok分享你的html代码你的代码!!!分享你的html代码我不知道如何使用fiddleok分享你的html代码在哪里我可以使用indexOfIts也不去其他部分朋友请帮助我是的朋友我只使用你的答案,但没有显示任何错误,然后我在你的条件下也放了一条警报消息,但两条警报都没有显示确定添加了jquery,你检查了吗演示?非常感谢你的朋友我可以使用indexOfIts也不去其他地方朋友请帮助我是的朋友我只使用你的答案,但没有显示任何错误,然后我在你的条件中也放了一条警告消息,但两条警告都没有显示确定添加了jquery,你检查演示了吗?非常感谢你的朋友,那么我如何设置(var i=0;iinitailise using fro ex.var bind=[10,20,30,40]的迭代使用,然后如何设置(var i=0;iinitailise using fro ex.var bind=[10,20,30,40]