I'd use an anonymous function and pass it to setTimeout like this : var selector = '#whatever .selector'; var savVal = 'whatever value'; setTimeout(function() { $(selector).val(savVal); }, 1000);
Notes for the careful reader : - There no "this" in the anonymous function, why is that ? - Because in setTimeout this would refers to window which is the owner of setTimeout. - Why are the selector and savVal variables declared using var just before we setTimeout ? - Because I don't want to risk crossing whatever variables may hold the same name in another context thus risking them being overwritten by some other script, but I want them to be part of the anonymous function's context when it is called. Hope it helps. Michel Belleville 2009/11/4 north <ollo...@web.de> > Hi, > > I'm trying to use a jQuery statement inside a setTimeout function, but > I don't get it to work. I tried a lot of variants, like this one (I'm > using 'this' because the setTimeout is inside an each function, and > the selector is cached/stored in an object, thus the $selector): > > setTimeout("" + this.$selector + ".val('" + this.savVal + "')", 1); > > How do I have to write this? > > Thanks! >