jQuery检查值是否不在数组中

时间:2016-02-21 09:27:03

标签: jquery arrays

试图让这个工作:

var instance_name = $('#instance_name').val();
$("#instance_name").on("blur", function(e){
    if (!~$.inArray(instance_name, not_allowed)) {
        $("#instance_alert").html("<font color=green>Instance does not exists. Please continue</font>");
    } else {
        $("#instance_alert").html("<font color=red>Instance exists. Please try another one.</font>");
    }

但无济于事..(看着How to check if a value is NOT in an array using jQuery

任何想法为何仍然继续说Please continue Kindly

4 个答案:

答案 0 :(得分:2)

您可以使用indexOf()方法。 Toolbar toolbar = new Toolbar(); f.setToolbar(toolbar); toolbar.addCommandToOverflowMenu(new Command("Test") { @Override public void actionPerformed(ActionEvent evt) { // its event } }); 方法在数组中搜索指定的项,并返回其位置。如果找不到该项,则返回-1。

indexOf()

答案 1 :(得分:2)

你可以使用它:请$.inArray

if(jQuery.inArray("test", not_allowed) != -1) {
    console.log("is in array");
} else {
    console.log("is NOT in array");
} 

答案 2 :(得分:2)

首先,当您将值保存在模糊事件之外时,instance_name的值不会更新模糊。

因此,您需要在模糊事件侦听器中移动var instance_name = $('#instance_name').val();。在事件监听器内部,您可以使用简写$(this).val()来获取值。

对于条件,使用indexOf如果值不在搜索数组中则返回-1,否则返回被搜索值的位置索引(即0,1,2 ... )。

代码:

var not_allowed = ["test", "noah", "help", "demo"];
$("#instance_name").on("blur", function (e) {
    // $(this).val() is the value of #instance_name.
    if (not_allowed.indexOf($(this).val()) > -1) {
        $("#instance_alert").html("<font color=red>Instance exists. Please try another one.</font>");
    } else {
        $("#instance_alert").html("<font color=green>Instance does not exists. Please continue</font>");
    }
});

答案 3 :(得分:1)

迟到的答案,但要检查数组中是否存在值IS NOT,您可以使用:

if(jQuery.inArray("item", the_array) === -1) {
    // item NOT in Array
}