数组按下按钮单击jquery

时间:2015-05-05 14:35:15

标签: javascript jquery arrays

我试图改进我编写的一些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;
        }

1 个答案:

答案 0 :(得分:4)

var found = $.inArray(clientInput, clientArray) > -1;

为什么要在此声明中进行比较?这就是抛出你的错误。你检查在其他地方是否发现大于或等于0,所以删除&gt; -1应该使一切正常。