Отримайте значення у текстовому полі введення


1004

Які способи отримати та відобразити вхідне значення за допомогою jQuery?

Ось один:

$(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" />


1
використовувати цей код: var value = $ ('# txt_Name'). val (); Ви також можете встановити значення за допомогою jquery. перегляньте цю публікацію за адресою: coding-isissue.blogspot.in/2013/10/…
Ranadheer Reddy

Відповіді:


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

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

35
@Prabs, питання: "Які способи отримати та відобразити вхідне значення за допомогою jQuery?", Мітка не є введенням.
Баррі Майкл Дойл

3
видаліть цитати з "bla". Він повинен бути $ ('# txt_name'). Val (bla);
Чарльз Ксав'є

9
@ParbhuBissessar Не обов'язково. Якщо він хоче буквальний текст "бла", він все правильно зрозумів. Якщо він хоче valз var blaто він повинен видалити лапки.
double_j

зауважте get's: "val ()" замість "val" ви можете подивитися на мій профіль
TheRedstoneTaco

Я це зробив, але маючи проблеми.
Васі Раза

591

Вибрати значення можна лише двома наступними способами:

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

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

Якщо ви хочете використовувати прямий JavaScript, щоб отримати значення, ось як:

document.getElementById('txt_name').value 

6
Я знаю, що це питання старіше, але не забувайте, що його attrтакож можна замінити prop. Це семантично краще.
Sablefoste

Тільки $("#txt_name").val(str);працював для мене в Chrome , щоб встановити значення. Спробуйте цю публікацію .
gkiko

Функція додавання jQuery, здається, не має проблем із додаванням до HTML, зберігаючи значення форми.
Адам Ф

1
$ ("# txt_name"). attr ("значення"); повернути значення / відповідь за замовчуванням невірно!
zloctb

1
майте на увазі, що $("#txt_name").attr('value')завжди буде повертати вміст атрибута "value", тому якщо ви зміните поле введення, значення не змінюється. .val()завжди поверне вміст поля ..
honk31

84

Варто зазначити одну важливу річ:

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

поверне поточне реальне значення текстового поля, наприклад, якщо користувач щось набрав там після завантаження сторінки.

Але:

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

поверне значення з DOM / HTML.


40

Ви можете отримати valueатрибут безпосередньо, оскільки ви знаєте, що це <input>елемент, але ваше поточне використання .val()вже є поточним.

Для вищезазначеного просто використовуйте .valueелемент DOM безпосередньо, як це :

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

@Bharan Навіщо потрібна альтернатива?
Doug Molineux

3
десь я хотів би використати альтернативу,
Bharanikumar

16

Вам доведеться використовувати різні способи отримання поточного значення вхідного елемента.

МЕТОД - 1

Якщо ви хочете скористатися простим .val(), спробуйте це:

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

Отримати значення з 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();

Встановіть значення 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");

МЕТОД - 2

Використовуйте .attr()для отримання вмісту.

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

Я просто додаю один атрибут у поле введення. value=""атрибут - це той, хто несе текстовий вміст, який ми ввели у поле введення.

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

МЕТОД - 3

ви можете використовувати цей безпосередньо на своєму inputелементі.

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

15

Ви можете отримати таке значення:

this['inputname'].value

Де thisпосилається на форму, яка містить вхідні дані.


8
Ця відповідь передбачає, що thisпосилається на форму, яка містить введення.
нанда

15

Я думаю, що ця функція пропущена тут у попередніх відповідях:

.val( function(index, value) ) 

6

Щоб отримати значення текстового поля, ви можете використовувати jQuery val() функцією .

Наприклад,

$('input:textbox').val() - Отримайте значення текстового поля.

$('input:textbox').val("new text message") - Встановити значення текстового поля.


3

Для тих, хто так само, як я, є новачками в JS і отримуючи undefinedзамість текстового значення, переконайтесь, що ваш текст idне містить недійсних символів .


3

Ви можете просто встановити значення в текстовому полі.

По-перше, ви отримуєте таке значення, як

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

Після отримання значення, встановленого як вхід, як

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

1

Спробуйте це. Це буде працювати точно.

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

Ні, це не буде !! (1) Якщо немає атрибута "value" ( <input type="text" />), він повертається невизначеним. (2) Якщо ви зробите це так<input type="text" value="test" /> і користувач вводить foo у полі введення, $('#txt_name').attr('value')тест все ще повертається ".
ndsvw

Ця відповідь не вірна, але це API, який я шукав.
Антоній
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.