Я пытаюсь установить значение в поле textarea, используя jquery со следующим кодом:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
Проблема в том, что когда этот код выполняется, он не изменяет текст в текстовой области?
Однако при выполнении alert($("textarea#ExampleMessage").attr("value"))
возвращается новое установленное значение?
Ответы:
Вы пробовали Валь?
источник
value
атрибута HTML , но это не имеет значения, потому что обаval()
иattr('value')
записывают в свойство значения JavaScript. Обратите внимание,attr()
это не набор HTML - атрибуты! Он только устанавливает свойства JavaScript, пытаясь скрыть разницу для случаев, таких как class / className, где имя отличается. Но вы все равно увидите разницу для мест, где атрибут и свойство делают разные вещи, например, в элементах формы.val(foo)
у меня работает (jQuery 1.9.1). Использованиеtext(foo)
loses для обновления содержимого textarea приводит к потере разрывов строк в IE, при использованииval(foo)
сохраняет их.У Textarea нет атрибута value, его значение находится между тегами, т. Е.
<textarea>my text</textarea>
Оно не похоже на поле ввода (<input value="my text" />
). Вот почему attr не работает :)источник
$("textarea#ExampleMessage").val()
в jquery просто волшебство.Вы должны заметить, что тег textarea использует внутренний html для отображения, а не в атрибуте value, как тег ввода.
Вы должны использовать
или
зависит от того, хотите ли вы отобразить его в виде HTML-тегов или простого текста.
источник
Ох, да ладно, мальчики! это работает только с
источник
Я думаю, что это должно работать:
источник
у меня был тот же вопрос, поэтому я решил попробовать его в текущих браузерах (мы спустя полтора года после этого вопроса), и этот (
.val
) работаетза
источник
.val()
это сделает свое дело в нескольких браузерах;)На андроиде так
.val
и.html
не вышло.сделал работу
источник
У меня была та же самая проблема, и это решение не работало, но что работало, чтобы использовать HTML
источник
html()
работает только один раз для текстовой области, в следующий раз, когда вы хотите динамически изменять содержимоеtextarea
,html()
не будет работать ...$('#textarea').val(encodedtext);
Там проблема: мне нужно сгенерировать HTML-код из содержимого данного div. Затем я должен поместить этот необработанный HTML-код в текстовую область. Когда я использую функцию $ (textarea) .val () следующим образом:
или
У меня были проблемы с каким-то специальным символом (& '"), когда они находятся между кавычками. Но когда я использую функцию: $ (textarea) .html (), текст в порядке.
Там пример формы:
И код javascript / jquery, который не работает для заполнения текстовой области:
Окончательно решение:
Хитрость заключается в том, чтобы обернуть текстовое поле тегом span, чтобы помочь с функцией replaceWith. Я не уверен, что он очень чистый, но он отлично работает, также добавьте необработанный HTML-код в текстовую область.
источник
textarea не хранит значения как
вместо этого он хранит значения в этом формате:
Итак,
attr("value","someString")
вы получите этот результат:попробуй
$("#textareaid").val()
или$("#textareaid").innerHTML
взамен.источник
Текстовая область не имеет значения. jQuery .html () работает в этом случае
источник
html()
работает только один раз для текстовой области, в следующий раз, когда вы хотите динамически изменять содержимоеtextarea
,html()
не будет работать ...Это работает для меня .... Я построил стену фейсбук ...
Вот основа моего кода:
источник
Чтобы установить значение textarea для закодированного HTML (чтобы показать как HTML), вы должны использовать
.html( the_var )
но, как уже упоминалось, если вы попытаетесь установить его снова, оно может (и, вероятно,) не будет работать.Вы можете исправить это, опустошив текстовую область,
.empty()
а затем снова установив ее с помощью.html( the_var )
Вот рабочий JSFiddle: https://jsfiddle.net/w7b1thgw/2/
источник
Я пытался с
.val()
.text()
.html()
и имел некоторые ошибки, используя jQuery для чтения или установки значения textarea ... я в конечном итоге, используя родной jsисточник
Мы можем использовать методы .val () или .text () для установки значений. нам нужно поместить значение в val () как val ("привет").
Проверьте пример здесь: http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html
источник
Просто используйте textarea Id по типу:
источник
Я думаю, что отсутствует один важный аспект:
работает только при наличии селектора идентификаторов (#)
для селектора классов есть возможность использовать собственное значение, например:
источник
Принятый ответ работает для меня, но только после того, как я понял, что должен был выполнить мой код после того, как страница была закончена загрузка. В этой ситуации встроенный скрипт не работает, я думаю, потому что #my_form еще не завершил загрузку.
источник
Вы даже можете использовать приведенный ниже фрагмент.
источник
Когда у меня был JQuery v1.4.4 на странице, ни один из них не работал. Когда я вставлял JQuery v1.7.1 на мою страницу, это сработало окончательно. Так что в моем случае проблема была в моей версии JQuery.
id ==> textareaid
======================
источник
Я использовал
$(textarea).val/html/text(any_str_var)
все, что работало для меня. Если вы хотите быть уверены, что ваша переменная в виде строки добавлена в текстовую область, вы всегда можете выполнить конкататацию так:Метод .val () определенно используется в textarea - см .: https://api.jquery.com/val/
.html () может использоваться для получения или установки содержимого любого элемента - см .: https://api.jquery.com/html/#html2
.text () - это то же самое, что и .html, за исключением того, что его можно использовать для установки содержимого XML: см. https://api.jquery.com/text/#text-text
Вы также можете прочитать больше о том, как каждый действует на специальных символов с каждой из этих ссылок.
источник
Просто используйте этот код, и вы всегда будете иметь значение:
var t = $(this); var v = t.val() || t.html() || t.text();
Так что он проверит val () и установит его значение. Если val () получает пустую строку, NULL, NaN os, он проверит html () и затем text () ...
источник
Это работает:
Помните, что здесь важно убедиться, что вы используете правильный ID. И прежде чем использовать ID, убедитесь, что вы поставили
#
перед ним.источник
Использование
$("textarea#ExampleMessage").html('whatever you want to put here');
может быть хорошим способом, потому что.val()
могут возникнуть проблемы, когда вы используете данные из базы данных.Например:
Поле базы данных с именем as
description
имеет следующее значениеasjkdfklasdjf sjklñadf
. В этом случае использование .val () для присвоения значения textarea может быть утомительным занятием.источник
Я пытался установить значение / text / html с помощью JQuery, но не удалось. Поэтому я попробовал следующее.
В этом случае я вставлял новый элемент textarea в созданный DOM.
источник