Haven't tried it but you could use my getAttributes plugin (http:// plugins.jquery.com/project/getAttributes) to store the current attributes in the data as I suggested, and then retrieve it later. That would get you not only the value but all other attributes.
$(document).ready(function(){ $(":input").each(function(){ $(this).data('orig',$.getAttributes($(this))) }); //to access original attributes of the input later, including value console.log( $('some_input').data('orig').value ); console.log( $('some_input').data('orig').name); }); On Mar 10, 11:43 am, Brad <nrmlcrpt...@gmail.com> wrote: > Thanks for the help on the other question. I missed the part about > reverting the value. > > Actually I don't think that I need to explicitly store the value. If I > store the value of $(this) as shown I can later retrieve the value > for a specific field by e.g., calling ... > > $(origFormData['age']).val() > > ..., but I need to explain my requirement in more detail. > > Restoring the input field's value is only one part of the problem. > There are a number of other attributes that might need to be restored. > Depending on how the backend code originally displays the form, a > field can start out enabled or disabled. It can start out with a > special class assignment. These attributes can dynamically change as > the form is used. Therefore resetting a field may involve more than > restoring the field's original value. > > What I was hoping I could do was store an jQuery object that contained > all of the information about the field and somehow (magically) use > that to overwrite the current representation of that same field. > > Am I dreaming? > > Thinking of other ways to solve this problem, is there a way with > jQuery to get the full html of an input element? The .html() method > doesn't do it. > > On Mar 10, 12:02 pm, MorningZ <morni...@gmail.com> wrote: > > > You forgot an important part of the line > > > origFormData[this.name] = $(this); > > > and this is you need to store the value, so > > > origFormData[this.name] = $(this).val(); > > > and on your other topic, the code was also provided to revert the > > value back to the saved value > > > On Mar 10, 1:36 pm, Brad <nrmlcrpt...@gmail.com> wrote: > > > > I have a need to reset individual form objects to their original > > > state. When the document loads I save the element like this: > > > > var origFormData = {}; > > > > $(document).ready(function(){ > > > > // Save original form data for each input field > > > $(":input").each(function(){ > > > origFormData[this.name] = $(this); > > > }); > > > > }); > > > > For example I have a form with fields named name, age, and dept > > > selectable by $("#name"), $("#age"), and $("#dept") respectably. > > > > How would I go about later restoring/resetting a specific field. Is > > > there a simple way to overwrite the object represented by $("#name) > > > with origFormData.name?