If #bind or #curry somehow don't satisfy your needs, there's always a
plain old function wrapping (which simply stores "id" in its own
closure):

...
.onclick = (function(id){
  return function(){ fc.selectArticle(id, ret.headline[i]) }
})(id);
...

- kangax

On May 15, 5:57 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Hi all,
> I am having trouble with my variable assignments always becoming the
> last variable inside my loop.
>
>                 var populateAvailableContent = Class.create(methodCall, {
>                         initialize: function($super, name, message) {
>                                 $super(name,'getAllContent','Loading...')
>                         },
>                         result: function(ret) {
>                                 var div = $('articles');
>                                 div.innerHTML = null;
>                                 var rowCount = ret.getRowCount();
>                                 for (i=0;i<rowCount;i++) {
>                                         var item = 
> document.createElement('div');
>                                         var id = ret.id[i]
>                                         var headline = ret.headline[i];
>                                         var html = headline + "<hr />";
>                                         item.id = "item";
>                                         item.onclick = 
> function(){fc.selectArticle(id,headline);};
>                                         item.innerHTML = html;
>                                         div.appendChild(item);
>                                 }
>                         }
>                 })
>
> In this scenario, id and headline are always becomes the last value in
> the loop and that is what is passed in the fc.selectArticle()
> function. I've tried a few different possible solutions I've found on
> the web, but none seemed to work. I decided to try and give the bind()
> function a go around but I can't seem to figure out how to use it in
> my situation.
>
> Any help would be greatly appreciated.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to rubyonrails-spinoffs@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to