[Prototype-core] Re: How can I access the object when using each?
kojilab wrote: Hi I have an object with a method I call run that iterates over some form elements. I want to be able to execute a method of that object on each element. But when I use this in the function within the each() statement, obviously the this doesn't correspond to the object instance. Thanks for your help Code snippet: MyObject=Class.create(); MyObject.prototype = { run: function(){ this.formElements.each(function(el, index){ this.doSomething(el); }); }, doSomething:function(){ return; } } Try $A(this.formElements).each(...); this.formElements might be a HTML node collection object and not an array. - Ken Snyder --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype: Core group. To post to this group, send email to prototype-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~--~~~~--~~--~--~---
[Prototype-core] Re: How can I access the object when using each?
Hi Ken and Jon Thanks for the info. Since I am not super familiar with the object model in prototype, what would be the full code to call this doSomething method within the each() function Thanks again On Feb 12, 12:28 pm, Ken Snyder [EMAIL PROTECTED] wrote: kojilab wrote: Hi I have an object with a method I call run that iterates over some form elements. I want to be able to execute a method of that object on each element. But when I use this in the function within the each() statement, obviously the this doesn't correspond to the object instance. Thanks for your help Code snippet: MyObject=Class.create(); MyObject.prototype = { run: function(){ this.formElements.each(function(el, index){ this.doSomething(el); }); }, doSomething:function(){ return; } } Try $A(this.formElements).each(...); this.formElements might be a HTML node collection object and not an array. - Ken Snyder --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype: Core group. To post to this group, send email to prototype-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~--~~~~--~~--~--~---
[Prototype-core] Re: How can I access the object when using each?
For further info: http://prototypejs.org/api/function/bind - Jon L. On Feb 12, 2:24 pm, Jon L. [EMAIL PROTECTED] wrote: You can use the bind method. this.formElements.each(function (el, index) { ... }.bind(this)); - Jon L. On Feb 12, 2:05 pm, kojilab [EMAIL PROTECTED] wrote: Hi I have an object with a method I call run that iterates over some form elements. I want to be able to execute a method of that object on each element. But when I use this in the function within the each() statement, obviously the this doesn't correspond to the object instance. Thanks for your help Code snippet: MyObject=Class.create(); MyObject.prototype = { run: function(){ this.formElements.each(function(el, index){ this.doSomething(el); }); }, doSomething:function(){ return; } } --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype: Core group. To post to this group, send email to prototype-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~--~~~~--~~--~--~---