Is there a simple way to only reload an element if it content has changed?

77 views Asked by At

I am using RightJS (very similar to jQuery) on a site I'm working on. I am loading an element on the page with the result of a request like so:

var comp = $('completed_step');
if(comp != null) comp.load("/brew/completed_step");

This works but I am trying to find a way to only load the element if the result of the request for 'brew/current_step' is different than the value currently loaded in the element. Is there an easy way to accomplish that?

1

There are 1 answers

2
Trendy On BEST ANSWER

You need to compare the value of the current element with what is loaded.

var comp2;
var comp = $('completed_step'); //I'm assuming this refers to some value
if( comp != null || comp != "" ){
    comp2 = load("/brew/completed_step");
}

if( comp != comp2 ){
    comp = comp2;
}

Keep in mind, I'm not familiar with RightJS, so this might be wrong, but should give you the right idea.

Edit:

It looks like the Xhr module in rightJS takes an object that allows you to specify what to do when the process has completed.

http://rightjs.org/docs/xhr#load

Xhr.load('/some/url', {
  onSuccess: function(request) {
    // do something about it
  }
});

That's from their example in the documentation.