如果我的数组包含使用jQuery.inArray()传递的值,如何显示警告?

时间:2016-03-04 10:52:23

标签: javascript jquery arrays input

我将文本框的值存储在数组中。然后,我通过用逗号分隔的值拆分将值存储在数组中。

当我在ExistsInArray函数中传递值时,我没有收到警报。

<input value="1,2,3,4" id="someid">

的JavaScript

var txtboxVal=$("#someid").val();
var myarray=txtboxVal.split(",")

function ExistsInArray(id) {
  if (jQuery.inArray(id, myarray) !== -1) {
    alert('id');
  }
  ExistsInArray(3);
}

Fiddle Demo

2 个答案:

答案 0 :(得分:2)

您有几个问题:

  • id变量传递给alert(),而不是字符串,例如alert(id)
  • ExistsInArray()调用移到之外 - 你正在创建一个无限循环
  • 您为函数提供了一个int值,但该数组包含字符串。

试试这个:

var txtboxVal = $("#someid").val();
var myarray = txtboxVal.split(",")

function ExistsInArray(id) {
    if ($.inArray(id, myarray) !== -1) {
        alert(id);
    }
}

ExistsInArray('3'); // note the quotes here

Working example

答案 1 :(得分:1)

您在其内部呼叫ExistsInArray()

尝试把它放在外面:

function ExistsInArray(id) {
  if (jQuery.inArray(id, myarray) !== -1) {
    alert('id');
  }
}
ExistsInArray(3);