2015-05-06 3 views
0

я слежу на предыдущий вопрос я спросил hereJQuery массив нажатием на кнопку мыши

Я работал на моем коде, и за ответами от этой должности, я устранил ошибку. Теперь я не получаю никакого вывода для консоли или результатов из массива в моем меню выбора, где раньше, когда я писал это упражнение без использования jQuery, я смог эффективно получать элементы в массиве и отображать их в моем меню выбора. Чтобы получить более полный ответ, я отправляю полный код html и javascript/jquery. Если у кого-то есть какие-либо данные о том, почему мой код не работает, я был бы признателен. Моя цель состояла в том, чтобы использовать jQuery (то, что я сейчас изучаю), чтобы достичь того, что я сделал с javascript ранее. В этом упражнении я использую пользовательское поле ввода для пользователей, чтобы добавить клиентов в массив нажатием одной кнопки. Когда эта кнопка нажата, я хочу, чтобы мой скрипт проверял массив, чтобы увидеть, содержит ли он этот элемент, а если нет, то нажмите элемент в массив и отобразите его в списке выбора существующих клиентов.

<!DOCTYPE html> 
<html> 

<head> 
    <title>Keeper of Time</title> 

<link rel="stylesheet" type="text/css" href="kot.css"> 

<script type ="text/javascript" src="http://code.jQuery.com/jquery-latest.min.js"></script> 


</head> 
<body> 



    <div class="navDiv"> 

     <ul id="navButtons"> 
      <li><a href="">Home</a></li> 
      <li><a href="">Clients</a></li> 
      <li><a href="">Entries</a></li> 
      <span><li><a href="">Account</a></li></span> 

     </ul> 
    </div> 

    <div id="errorMessage"></div> 

    <div id ="newCltDiv"> 

     <input id= "newClt" type="text" placeholder="Add a new client"> 
     <button id="addCltBtn"> Add Client</button> 

    </div> 

    <br> 
    <br> 

    <div id="cltListDiv"> 
     <select id="cltList"> 
      <option>Select an existing client</option> 
     </select> 
     <button id="cltSelect">Select Client</button> 

    </div> 


    <br> 
    <br> 





    <script type="text/javascript"> 

    var clientArray = []; 
    var clientInput = document.getElementById("newClt"); 
    var sel = document.getElementById("cltList"); 
    clientArray.push("box"); 


     $("#addCltBtn").click(function(){ 

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

      if(found >= 0) { 
       //Element was found update errorMessage div 
       $(errorMessage).html("This Client Already Exists"); 

      } else{ 
        clientArray.push(clientInput.value); 
        console.log("Objects: " + clientArray.join(", ")); 
        updateDropList(clientInput.value); 

      } 
     }); 


     function updateDropList(value){ 
      var opt = document.createElement('option'); 
      opt.innerHTML = value; 
      opt.value = value; 
      sel.appendChild(opt); 

     } 

     //test 
     clientArray.push("soccer"); 
     console.log(clientArray); 





</body> 
</html> 
+0

При написании вопроса, попытаться быть более конкретными и сконцентрироваться на самой проблеме, а не весь код. – Itay

+0

о чем вы говорите. это было очень специфично. И почему вы голосуете за это без причины? Это был правильный вопрос. –

+0

Вы написали массу ненужной информации, вместо того, чтобы сосредоточиться на проблеме. Кроме того, вероятно, вы должны приложить усилия для создания онлайн-примера, показывающего вашу точную проблему (например, jsFiddle). – Itay

ответ

1

Вы должны закрыть свой сценарий ... </script> и проверить значение ...

var found = $.inArray(clientInput.value, clientArray); 
+0

Иисус. теперь я чувствую себя глупо. который позаботился об этом. уставился на это на 2 часа. используете ли вы какой-то отладчик или редактор, которые вы рекомендуете, чтобы поймать эти глупые вещи? –

+0

idk, который проголосовал за это, но это исправило это для меня. –

+0

Я не использовал отладчик, просто заметил, что закрывающего тега не было. Пожалуйста, примите в качестве решения. –

Смежные вопросы