msharma
msharma

Reputation: 575

JQuery clearing an input text field

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.

Upvotes: 9

Views: 19368

Answers (2)

Mike Robinson
Mike Robinson

Reputation: 25159

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) )

Upvotes: 1

Justin Swartsel
Justin Swartsel

Reputation: 3431

You want to use:

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

Upvotes: 19

Related Questions