试图让这个工作:
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
。
答案 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
}