title: IE is acting inconsistently with a jQuery change/ajax event
body: <p>I am working on a fairly simple demo app.  Three input dropdown boxes are displayed using <code>slideDown()</code> in succession (this fires on a <code>change()</code> of the previous dropdown), and one uses an AJAX request to determine the next one's values.  </p>
  
  <p>This works flawlessly in Chrome and Firefox, but IE (even 9) chokes on the second dropdown- the one that executes the AJAX request.</p>
  
  <p>Because code speaks louder than words:</p>
  
  <pre><code>$('#specialty').change(function() {
      if ( $(this).val() !== "(please select an option)" ) {
          $.ajax({
                  type: "GET",
                  url: "getValidToppings.php",
                  data: { location: $(this).parent().prev().children('select').val() }
          }).done(function(data) {
              var mytoppings, toppingsSelectBox;
  
              console.log('return values: ' + data);
  
              data = $.parseJSON(data);
  
              toppingsSelectBox = $('#toppings');
              toppingsSelectBox.empty();
  
              // we use the value from the select box as a key in the dict of toppings returned
              // from the AJAX call
              mytoppings = data[$('#specialty').val()];
  
              toppingsSelectBox.append('&lt;option&gt;(please select an option)&lt;/option&gt;')
  
              for (i in mytoppings) {
                  toppingsSelectBox.append("&lt;option&gt;"+mytoppings[i]+"&lt;/option&gt;");
              }
  
              toppingsSelectBox.parent().slideDown('slow', 'linear');
          });
      }
  });
  </code></pre>
  
  <p>You can see that when I change this dropdown (where <code>id="specialty"</code>), the values returned via AJAX (in JSON) are supposed to fill up the <code>.toppings</code> input, and then reveal it (with <code>slideDown()</code>).  But, in IE... no dice.</p>
  
  <p>What's REALLY WEIRD is, if I boot up IE's dev tools and start tinkering with Javascript (set breakpoint, use console, etc.), it starts working as anticipated.  Even if I only OPEN dev tools, as soon as that window is open it starts working.  What the heck?</p>
  
  <p>Something weird is happening here.  Any ideas?</p>