我试图改进我编写的一些javaScript,如果它们以前不在数组中,则将元素推送到数组中。然后,我希望在选择字段中显示该数组。我把这一切都用在javascript中,但我认为在jQuery中尝试做同样的事情对我自己来说是一个有趣的练习。我想我已经关闭但由于某种原因,浏览器中的控制台给我一个错误如下:
" [错误] SyntaxError:无法使用关键字' var'作为变量名称。 (匿名函数)"
到目前为止,这是我的代码。我已经(按此顺序)包含了我对jQuery的尝试,然后是我的工作javascript代码(注释掉了),以及我更新下拉列表的函数。我最终也会尝试在jQuery中重新创建该函数。任何人都可以告诉我为什么我得到这个错误,或者我在jQuery中做错了什么?谢谢。
var clientArray = [];
var clientInput = document.getElementById("newClt");
var sel = document.getElementById("cltList");
$("#addCltBtn").click(function(){
var found = $.inArray(clientInput, clientArray) > -1;
if(found >= 0) {
//Element was found update errorMessage div
$(errorMessage).html("This Client Already Exists");
} else{
clientArray.push(clientInput.value);
}
});
//
// document.getElementById("addCltBtn").onclick=function(){
//
// console.log(clientArray.length);
// if (!contains(clientArray,clientInput.value)) {
// clientArray.push(clientInput.value);
// console.log("Objects: " + clientArray.join(", "));
// updateDropList(clientInput.value);
// }
// else alert("You already have a client by that name!");
// }
function updateDropList(value){
var opt = document.createElement('option');
opt.innerHTML = value;
opt.value = value;
sel.appendChild(opt);
}
function contains(a, obj){
for(var i =0; i< a.length; i++){
if(a[i] === obj){
return true;
}
}
return false;
}
答案 0 :(得分:4)
var found = $.inArray(clientInput, clientArray) > -1;
为什么要在此声明中进行比较?这就是抛出你的错误。你检查在其他地方是否发现大于或等于0,所以删除&gt; -1应该使一切正常。