如何使用Jquery或javascript检查输入的值是否存在

如何使用Jquery或javascript检查输入的值是否存在,javascript,jquery,Javascript,Jquery,我有一个文本框和一个按钮和按钮,我写了下面的代码。问题是,假设我第一次在文本框10中输入的值大于其工作值,但当我再次输入10时,其打印值不在数组中。所以请帮我解决什么问题 jQuery(文档).ready(函数() { jQuery(“#mybutton”).live('click',function() { var sel_fam_rel=jQuery(“#my_textbox”).val(); var-id=[]; 代码=sel_fam_rel; 如果($.inArray(代码,ID)>=

我有一个文本框和一个按钮和按钮,我写了下面的代码。问题是,假设我第一次在文本框10中输入的值大于其工作值,但当我再次输入10时,其打印值不在数组中。所以请帮我解决什么问题

jQuery(文档).ready(函数()
{
jQuery(“#mybutton”).live('click',function()
{
var sel_fam_rel=jQuery(“#my_textbox”).val();
var-id=[];
代码=sel_fam_rel;
如果($.inArray(代码,ID)>=0)
{
警报(“值在数组中”);
}
其他的
{
警报(“值不在数组中”);
id.push(代码);
}
});

});使用下面的代码。将您的ID从单击事件中取出。每次单击按钮ids reset时,请按照您的代码执行

var ids = [];  // declare as global variable
jQuery(document).ready(function()
{
  jQuery("#mybutton").live('click',function () 
  {
    var sel_fam_rel=jQuery("#my_textbox").val();
    code =sel_fam_rel;
    if($.inArray(code,ids) >= 0)
    {
     alert("Value is in array");
    }
   else
   {
     alert("Value is not in array");
     ids.push(code);
    }
 });
});

使用下面的代码。将您的ID从单击事件中取出。每次单击按钮ids reset时,请按照您的代码执行

var ids = [];  // declare as global variable
jQuery(document).ready(function()
{
  jQuery("#mybutton").live('click',function () 
  {
    var sel_fam_rel=jQuery("#my_textbox").val();
    code =sel_fam_rel;
    if($.inArray(code,ids) >= 0)
    {
     alert("Value is in array");
    }
   else
   {
     alert("Value is not in array");
     ids.push(code);
    }
 });
});

创建数组
varids=[]全局外部按钮事件,因为无论何时单击按钮,它都在创建新的空数组。它将解决您的问题。

创建您的数组
var id=[]全局外部按钮事件,因为无论何时单击按钮,它都在创建新的空数组。它将解决您的问题。

此行:

if($.inArray(code,ids) >= 0)
应改为:

if($.inArray(code,ids) != -1)
并将您的ids var置于单击之外

请尝试下面的代码片段

varids=[];
jQuery(“按钮”)。在('click',function()上{
var sel_fam_rel=jQuery(“#my_textbox”).val();
代码=sel_fam_rel;
if($.inArray(代码,ID)!=-1){
警报(“值在数组中”);
}否则{
警报(“值不在数组中”);
id.push(代码);
}
});

选中此行:

if($.inArray(code,ids) >= 0)
应改为:

if($.inArray(code,ids) != -1)
并将您的ids var置于单击之外

请尝试下面的代码片段

varids=[];
jQuery(“按钮”)。在('click',function()上{
var sel_fam_rel=jQuery(“#my_textbox”).val();
代码=sel_fam_rel;
if($.inArray(代码,ID)!=-1){
警报(“值在数组中”);
}否则{
警报(“值不在数组中”);
id.push(代码);
}
});


检查
需要进行一些更改:

var id=[];//`ids`需要在全局范围内才能按您的要求工作,
//或者您可以使用不同的方法,如localstorage
jQuery(文档).ready(函数()
{
jQuery(“#mybutton”).on('click',function()//使用'on`而不是'live',这是不推荐使用的
{
var sel_fam_rel=jQuery(“#my_textbox”).val();
代码=sel_fam_rel;
如果($.inArray(code,ids)!=-1)//inArray()返回-1如果该值不在数组中,您可以按自己的方式使用它,IMO(纯粹主观的)最好使用“!=-1”,因为它更清楚中的代码打算做什么
{
警报(“值在数组中”);
}
其他的
{
警报(“值不在数组中”);
id.push(代码);
}
});
});



需要进行一些更改:

var id=[];//`ids`需要在全局范围内才能按您的要求工作,
//或者您可以使用不同的方法,如localstorage
jQuery(文档).ready(函数()
{
jQuery(“#mybutton”).on('click',function()//使用'on`而不是'live',这是不推荐使用的
{
var sel_fam_rel=jQuery(“#my_textbox”).val();
代码=sel_fam_rel;
如果($.inArray(code,ids)!=-1)//inArray()返回-1如果该值不在数组中,您可以按自己的方式使用它,IMO(纯粹主观的)最好使用“!=-1”,因为它更清楚中的代码打算做什么
{
警报(“值在数组中”);
}
其他的
{
警报(“值不在数组中”);
id.push(代码);
}
});
});



我对你的问题做了手脚,请使用
索引

jQuery-

var array=["A","B","C","D"];

$('button').click(function(){
    var code=$('input').val();
    if(array.indexOf(code)==-1)
    {
        array.push(code);
       console.log("if "+array)
    }
    else
    {
      console.log("else "+array)
    }
});

如果您的需要区分大小写,请使用-
code.toUpperCase()

我对您的问题做了一些修改,请使用
indexOf

jQuery-

var array=["A","B","C","D"];

$('button').click(function(){
    var code=$('input').val();
    if(array.indexOf(code)==-1)
    {
        array.push(code);
       console.log("if "+array)
    }
    else
    {
      console.log("else "+array)
    }
});


如果您的需要区分大小写,只需要一点要求,然后使用-
code.toUpperCase()

您正在初始化
ids
,因此它将始终转到else部分。向我们展示您的Competite JS代码。
如果($.inArray(code,ids)!=-1)
这不是会出现吗?我已经添加了,但仍然存在相同的问题。如果您正在重新初始化
ids
,那么它将始终转到else部分。向我们展示您的Competite JS代码。
如果($.inArray(code,ids)!=-1)
这不是会出现吗?我已经添加了,但仍然存在相同的问题。Jai如果它是
=0
有什么区别=-1
?@charlietfl
=-1
,似乎能更好地向我传达意图,但很好point@DelightedD0D这纯粹是主观的。这里唯一重要的区别是将数组存储在点击手柄之外。如果不鼓励OP使用
on()
.delegate()
而不是
live()
?如果
=0
,会有什么区别=-1
?@charlietfl
=-1
,似乎能更好地向我传达意图,但很好point@DelightedD0D这纯粹是主观的。这里唯一重要的区别是将数组存储在点击手柄之外。如果不鼓励OP使用
on()
.delegate()
over
live()
?不鼓励OP使用
on()
over
live()
?谢谢。。。在上面的代码中,如果我更改这行代码if($.inArray(code,ids)!=-1)而不是if($.inArray(code,ids)>=0),那么它将只工作。@MahendraPumbhadiya它不像您将它>=0更改为!=-1这两种情况是相同的。它之所以有效,是因为您将ID=[]放在了单击事件之外。是否应该鼓励OP使用
on()
而不是
live()
?谢谢。。。在上面的代码中,如果我将这行代码更改为if($.inArray(code,ids)!=-1)而不是if($.inArray(code,ids)>=0),那么它将只起作用。@Mahend