1056
votes

What are the ways to get and render an input value using jQuery?

Here is one:

$(document).ready(function() {
  $("#txt_name").keyup(function() {
    alert($(this).val());
  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<input type="text" id="txt_name" />
13
use this code: var value=$('#txt_Name').val(); You can also set the value using jquery. please look at this post at: coding-issues.blogspot.in/2013/10/…Ranadheer Reddy

13 Answers

1734
votes
//Get
var bla = $('#txt_name').val();

//Set
$('#txt_name').val(bla);
599
votes

You can only select a value with the following two ways:

// First way to get a value
value = $("#txt_name").val(); 

// Second way to get a value
value = $("#txt_name").attr('value');

If you want to use straight JavaScript to get the value, here is how:

document.getElementById('txt_name').value 
88
votes

There is one important thing to mention:

$("#txt_name").val();

will return the current real value of a text field, for example if the user typed something there after a page load.

But:

$("#txt_name").attr('value')

will return value from DOM/HTML.

43
votes

You can get the value attribute directly since you know it's an <input> element, but your current usage of .val() is already the current one.

For the above, just use .value on the DOM element directly, like this:

$(document).ready(function(){
  $("#txt_name").keyup(function(){
    alert(this.value);
  });
});
18
votes

You have to use various ways to get current value of an input element.

METHOD - 1

If you want to use a simple .val(), try this:

<input type="text" id="txt_name" />

Get values from Input

// use to select with DOM element.
$("input").val();

// use the id to select the element.
$("#txt_name").val();

// use type="text" with input to select the element
$("input:text").val();

Set value to Input

// use to add "text content" to the DOM element.
$("input").val("text content");

// use the id to add "text content" to the element.
$("#txt_name").val("text content");

// use type="text" with input to add "text content" to the element
$("input:text").val("text content");

METHOD - 2

Use .attr() to get the content.

<input type="text" id="txt_name" value="" />

I just add one attribute to the input field. value="" attribute is the one who carry the text content that we entered in input field.

$("input").attr("value");

METHOD - 3

you can use this one directly on your input element.

$("input").keyup(function(){
    alert(this.value);
});
15
votes

You can get the value like this:

this['inputname'].value

Where this refers to the form that contains the input.

15
votes

I think this function is missed here in previous answers:

.val( function(index, value) ) 
8
votes

To get the textbox value, you can use the jQuery val() function.

For example,

$('input:textbox').val() – Get textbox value.

$('input:textbox').val("new text message") – Set the textbox value.

4
votes

You can simply set the value in text box.

First, you get the value like

var getValue = $('#txt_name').val();

After getting a value set in input like

$('#txt_name').val(getValue);
3
votes

For those who just like me are newbies in JS and getting undefined instead of text value make sure that your id doesn't contain invalid characters.

1
votes

Try this. It will work for sure.

var userInput = $('#txt_name').attr('value')
0
votes

Pure JS

txt_name.value

txt_name.onkeyup = e=> alert(txt_name.value);
<input type="text" id="txt_name" />
0
votes

You can try

let quantity = $('input[name = quantity]').val()

where the name of the input field is quantity