tags:

views:

4292

answers:

3

I have this code that performs an ajax call and loads the results into two duplicate divs every time a dropdown is changed. I want the results to be faded into the div, to give a more obvious indication that something has changed, as its so seamless its sometimes hard to notice the change!

print("$('.ajaxdropdown').change(function(){


  $.ajax({
   type: "GET",
   url: "/includes/html/gsm-tariff.php",
   data: "c_name="+escape($(this).val()),
   success: function(html){
       $("#charges-gsm").html(html);
                                    //i want to fade result into these 2 divs...
    $("#charges-gsm-faq").html(html);
    $("#charges-gsm-prices").html(html);
   }
  });
 });");

I've tried appending the fadein method and a few other things, but no joy.

+7  A: 

You'll have to hide() it before you can use fadeIn().

UPDATE: Here's how you'd do this by chaining:

$("#charges-gsm-faq").hide().html(html).fadeIn();
$("#charges-gsm-prices").hide().html(html).fadeIn();
Adam Bellaire
so is there a shorter way of doing it than this using chaining or something?$("#charges-gsm-faq, #charges-gsm-prices").hide();$("#charges-gsm-faq, #charges-gsm-prices").html(html);$("#charges-gsm-faq, #charges-gsm-prices").fadein(slow);
Pickledegg
Yes, I've edited my answer to show the chaining.
Adam Bellaire
+1  A: 

You could also leave it visible and just make it transparent, and then fade it to full opacity, using:

... .css({ opacity: 0 }).fadeTo("normal",1);
Adam Bellaire
A: 

JQuery.ui has a bunch of different things you can do with effects. You can find them here: http://docs.jquery.com/Effects

Malfist