Web Programming > Java Script

How to get and set form element values with jQuery

(1/1)

admin:
Getting a value with jQuery
 
To get a form value with jQuery use the val() function. Let's say we have a form like this, using an id for each form element:
 

--- Code: ---<input name="foo" id="foo" type="text">
<select name="foo" id="bar">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
--- End code ---

We can display an alert for the values of "foo" and "bar" as easily this:
 
--- Code: ---window.alert( $('#foo').val() );
window.alert( $('#bar').val() );
--- End code ---

If we're using the name only and not specifying an id, the jQuery to get the form values would be this:
 

--- Code: ---window.alert( $('[name=foo]').val() );
window.alert( $('[name=bar]').val() );
--- End code ---

If you have a group of radio buttons and want to get the selected button, the code is slightly different because they all have the same name. Using the above code examples will show the value for the first radio button on the form with that name. To find out the value of the checked one, do this instead:
 
HTML:

--- Code: ---<input type="radio" name="baz" value="x">
<input type="radio" name="baz" value="y">
<input type="radio" name="baz" value="z">
--- End code ---


jQuery:

--- Code: ---window.alert($('input[name=baz]:checked').val());
--- End code ---

Setting a form value with jQuery
 
You can set the form values with jQuery using the same val() function but passing it a new value instead. Using the same example forms above, you'd do this for the text input and select box:

--- Code: --- $('#foo').val('this is some example text');
$('#bar').val('3');
--- End code ---

OR

--- Code: ---$('[name=foo]').val('this is some example text');
$('[name=bar]').val('3');
--- End code ---

Using the above for a radio button will change the actual value of the radio button rather than changing the one that is selected. To change the radio button that is selected you'd do this:
 
--- Code: ---$('input[name="baz"]')[0].checked = true;
--- End code ---

[0] would set the first one checked, [1] would set the second one checked and so on.

Navigation

[0] Message Index

Go to full version