[英]checking if array contains string or value
I am currently working on adding an array to another array by writing something in a texfield and clicking on a button. 我目前正在通过在texfield中编写内容并单击按钮来将一个数组添加到另一个数组。 I also have an if statement, that is supposed to check if the strings im writing already exist in the table, and if it does, i should get an alert.
我也有一个if语句,该语句应检查表中是否已存在即时消息编写字符串,如果存在,我应该收到警报。 However, i get an alert every time i try to add something, even though my array is empty.
但是,即使阵列为空,每次尝试添加内容时也会收到警报。 Any solution?
有什么办法吗?
Javascript Java脚本
$(document).ready(function(){
var films = [];
// ändra bakgrundsfärg för textfield
$('#name').keyup(function(){
$('#name').css('background-color', 'white');
});
// ändra bakgrundsfärg för select lista
$('#options').change(function(){
$('#options').css('background-color', 'white');
});
// kör funktionen när knappen med id "button" klickas
$("#button").click(function(){
var titelBetyg = [];
var titel = $('#name').val();
var betyg = $('#options').val();
// kontrollera om textfield är tom
if(titel == ""){
$('#name').css('background-color', 'red');
alert("Mata in titel.....");
}
// kontrollera om select lista inte är vald
else if(betyg == "0"){
$('#options').css('background-color', 'red');
alert("Välj betyg....");
}
// HERE IS THE IF STATEMENT WHERE IT FAILS
// kontrollera om filmen redan finns
else if($.inArray($("#name"), films) > -1){
alert("Filmen finns redan...");
}
else{
titelBetyg.push(betyg);
titelBetyg.push(titel);
films.push(titelBetyg);
var ul = $('#rightbar ul').empty();
if (!ul.length){ // om ul inte finns
ul = $("<ul>").appendTo('#rightbar'); // skapa en ny
}
// loopa igenom arrayen och placera innehållet i ul och li
for (var i=0; i<films.length; i++){
ul.append("<li>" + films[i][1] + " " + "<span>" + films[i][0] + "</span>" + "</li>");
}
$('#form').get(0).reset();
}
});
// kör funktionen när knappen med id "stigande" klickas
$('#stigande').click(function () {
if (films.length > 1) {
films.sort(function (a, b) {
return (a[0].length < b[0].length) ? 1 : -1;
})
var ul = $('#rightbar ul').empty();
for (var i = 0; i < films.length; i++) {
ul.append("<li>" + films[i][1] + " " + "<span>" + films[i][0] + "</span>" + "</li>");
}
}
});
// kör funktionen när knappen med id "fallande" klickas
$('#fallande').click(function () {
if (films.length > 1) {
films.sort(function (a, b) {
return (a[0].length > b[0].length) ? 1 : -1;
})
var ul = $('#rightbar ul').empty();
for (var i = 0; i < films.length; i++) {
ul.append("<li>" + films[i][1] + " " + "<span>" + films[i][0] + "</span>" + "</li>");
}
}
});
});
$.inArray($("#name"), films) > -1
您正在检查数组中是否存在jQuery元素的集合,这可能意味着:
$.inArray($.trim( $("#name").val() ), films) > -1
Is $('#name')
an input
? $('#name')
是input
吗? If so, you should use $('#name').val()
instead of just $('#name')
. 如果是这样,则应使用
$('#name').val()
而不是$('#name')
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.