2015-05-05 89 views
2

我正在嘗試改進一些我寫入的將元素推入數組的元素,如果它們以前不在數組中。然後,我希望該數組顯示在選擇字段中。我有這個所有的JavaScript工作,但認爲這將是一個有趣的嘗試,我自己嘗試在jQuery中做同樣的事情。我想我接近,但由於某種原因,在我的瀏覽器控制檯給我一個錯誤如下:數組按下按鈕點擊jquery

"[Error] SyntaxError: Cannot use the keyword 'var' as a variable name. (anonymous function)"

這裏是我到目前爲止的代碼。我已經包含了(以此順序)我嘗試在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

發佈所有相關代碼\ HTML標記問題本身 –

+0

何時發生此錯誤?它指向哪條線?你已經包含的代碼示例似乎沒問題。 – Pavlo

+0

它指向我的代碼中的第65行var found = $ .inArray(clientInput,clientArray)> -1; –

回答

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

你爲什麼把這個說法比較?這是拋出你的錯誤。你檢查在其他地方發現是否大於或等於0,所以刪除> -1應該使所有的工作。

+1

或者因爲它返回一個布爾值,只是使用它 –

+0

是的,A.沃爾夫,這也將工作。 –

+0

這可以緩解錯誤。謝謝。 –