tags:

views:

123

answers:

2

I have a question regarding clearing an input text field when a different drop down on teh same page is clicked, the value in the input text field should be cleared. Here is my jQuery ftn. The alert message is shown everytime I select an option from drop down but the field does not get cleared. Any idea what the correct syntax should be:

jQuery(document).ready(function(){

  jQuery("[id$='serialNumForm:noSerialNumProductKey']").change(function () {
            alert("In jquery change ftn!!");
            jQuery("[id$='serialNumForm:inputSN']").value="";
     });     
 });

I have a form Id so I need to prepend the Id to the element id name. the alert displays fine just the value does not change.

+3  A: 

You want to use:

jQuery("[id$='serialNumForm:inputSN']").val("");
Justin Swartsel
Thanks for the prompt reply.
msharma
+1  A: 

Calling "jQuery("[id$='serialNumForm:inputSN']")" doesn't return you an input element - instead it returns you a jQuery object. You have two options:

Use this to get the core element:

jQuery("[id$='serialNumForm:inputSN']").get(0)

Or, as Justin mentioned, use the jQuery val() method:

jQuery("[id$='serialNumForm:inputSN']").val("");

The second way is more reliable, since it applies the value to all matching elements, while the first only applies it to the first matching element (as indicated by the 0 in the get(0) )

Mike Robinson
You can also do jQuery("[id$='serialNumForm:inputSN']")[0] to get that dom element since the jQuery object is an array.
Justin Swartsel