title: jQuery .change() event is only fired once
body: <p>I have an application that retrieves Project names from a database when the DOM is ready.  Each Project is added to a <code>&lt;select&gt;&lt;option&gt;</code> in an html <code>&lt;form&gt;</code>.  Once the list is populated the user can select a project title, which will request the remaining information from the database specific to that project.</p>
  
  <p>To achieve this I'm using the <code>$.change()</code> jQuery method.  Unfortunately, the event is only fired once when the <code>&lt;select&gt;</code> element is created and added to the DOM.  Selecting another project from the list does not fire the event, and therefore does not trigger a <code>$.post()</code> call.</p>
  
  <pre><code>$(function(){
      getProjects();
      var firstLoad = true;
  
      $("select").change(retrieveProject); // Removed parenthesis based on answers
  
      // On page load, get project names from the database and add them to a Select form element
      function getProjects() {
          var selectionList;
          $.getJSON("php/getProjects.php", function (data) {
              selectionList = "&lt;form&gt;&lt;select&gt;";
              for (var i = 0; i &lt; data.length; i++) {
                  selectionList += "&lt;option name='prjTitle'&gt;" + data[i].ProjectTitle + "&lt;/option&gt;";
              }
              selectionList += "&lt;/select&gt;&lt;/form&gt;";
          }).complete(function() {
             $('#project-selection-menu').append(selectionList).removeClass('hidden');
             firstLoad = false;
          });
      }
  
      function retrieveProject() {
          if ( firstLoad == true ){
              alert(firstLoad); // This alert fires
              return false;
          } else {
              alert(firstLoad); // This alert doesn't fire
              $.post("php/getProjects.php", function (data) { // This should have been "php/retrieveProject.php"!
                  // Do stuff with the returned data
              }).complete(function() {
                 console.log("Success.");
              });
          }
      }
  )};
  </code></pre>