Próbuję ustawić wartość w polu textarea za pomocą jquery z następującym kodem:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
Problem polega na tym, że po uruchomieniu tego kodu nie zmienia on tekstu w obszarze tekstowym?
Jednak podczas wykonywania alert($("textarea#ExampleMessage").attr("value"))
nowo ustawiona wartość jest zwracana?
Odpowiedzi:
Próbowałeś val?
źródło
value
atrybut, ale to nie ma znaczenia, ponieważ obaval()
iattr('value')
zapisu do wartości nieruchomości JavaScript. Uwaga,attr()
nie nie ustawić atrybuty HTML! Ustawia tylko właściwości JavaScript, jednocześnie próbując ukryć różnicę dla przypadków takich jak class / className, gdzie nazwa jest inna. Ale nadal zobaczysz różnicę w miejscach, w których atrybut i właściwość robią różne rzeczy, na przykład w elementach formularza.val(foo)
działa dla mnie (jQuery 1.9.1). Użycie „text(foo)
gubi” do aktualizowania zawartości pola tekstowego powoduje utratę podziałów wierszy w IE, przy użyciuval(foo)
zachowuje je.Textarea nie ma atrybutu wartości, jego wartość znajduje się między znacznikami, tzn .:
<textarea>my text</textarea>
nie jest jak pole wejściowe (<input value="my text" />
). Dlatego attr nie działa :)źródło
$("textarea#ExampleMessage").val()
w jquery tylko magia.Powinieneś zauważyć, że tag textarea używa wewnętrznego HTML do wyświetlania, a nie atrybutu wartości, tak jak tag wejściowy.
Powinieneś użyć
lub
zależy od tego, czy chcesz wyświetlić go jako tagi HTML czy zwykły tekst.
źródło
Och, chodźcie chłopcy! działa tylko z
źródło
Myślę, że to powinno działać:
źródło
miałem to samo pytanie, więc postanowiłem spróbować w obecnych przeglądarkach (jesteśmy półtora roku później po tym pytaniu) i to (
.val
) działadla
źródło
.val()
wykona swoją magię w kilku przeglądarkach;)Na Androidzie
.val
i.html
nie działał.wykonał robotę.
źródło
Miałem ten sam problem i to rozwiązanie nie działało, ale działało użycie HTML
źródło
html()
działa tylko raz dla obszaru tekstowego, następnym razem chcesz dynamicznie zmienić treśćtextarea
,html()
nie będzie działać ...$('#textarea').val(encodedtext);
Jest problem: muszę wygenerować kod HTML z zawartości danego div. Następnie muszę umieścić ten surowy kod HTML w polu tekstowym. Kiedy używam funkcji $ (textarea) .val () w następujący sposób:
lub
Miałem problem z jakimś znakiem specjalnym (& „”), gdy są między cudzysłowami. Ale kiedy używam funkcji: $ (textarea) .html () tekst jest w porządku.
Jest przykładowy formularz:
Kod javascript / jquery, który nie działa, aby wypełnić obszar tekstowy, to:
Wreszcie rozwiązanie:
Sztuką jest owinięcie obszaru tekstowego znacznikiem span, aby pomóc w funkcji replaceWith. Nie jestem pewien, czy jest bardzo czysty, ale działa idealnie. Dodaj surowy kod HTML w polu tekstowym.
źródło
textarea nie przechowuje wartości jako
zamiast tego przechowuje wartości w tym formacie:
Więc
attr("value","someString")
dostaje ten wynik:spróbuj
$("#textareaid").val()
lub$("#textareaid").innerHTML
zamiast tego.źródło
Obszar tekstowy nie ma wartości. jQuery .html () działa w tym przypadku
źródło
html()
działa tylko raz dla obszaru tekstowego, następnym razem chcesz dynamicznie zmienić treśćtextarea
,html()
nie będzie działać ...Działa dla mnie .... Zbudowałem ścianę książki do twarzy ...
Oto podstawa mojego kodu:
źródło
Aby ustawić wartość textarea zakodowanego HTML (wyświetlanego jako HTML), należy użyć
.html( the_var )
ale jak wspomniano, jeśli spróbujesz ustawić go ponownie, może (i prawdopodobnie) nie zadziała.Możesz to naprawić, opróżniając obszar tekstowy,
.empty()
a następnie ustawiając go ponownie za pomocą.html( the_var )
Oto działający JSFiddle: https://jsfiddle.net/w7b1thgw/2/
źródło
Próbowałem
.val()
.text()
.html()
i miałem kilka błędów przy użyciu jQuery do odczytu lub ustawienia wartości pola tekstowego ... w końcu używam natywnego jsźródło
Możemy użyć metod .val () lub .text () do ustawienia wartości. musimy wstawić wartość do val () jak val („hello”).
Sprawdź przykład tutaj: http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html
źródło
Wystarczy użyć identyfikatora textarea według typu:
źródło
Myślę, że brakuje jednego ważnego aspektu:
działa tylko wtedy, gdy istnieje selektor identyfikatora (#)
dla selektora klasy istnieje opcja użycia wartości natywnej, takiej jak:
źródło
Przyjęta odpowiedź działa dla mnie, ale dopiero wtedy, gdy zdałem sobie sprawę, że muszę wykonać kod po zakończeniu ładowania strony. W tej sytuacji skrypt wbudowany nie działał, ponieważ #my_form jeszcze się nie załadował.
źródło
Możesz nawet użyć poniższego fragmentu.
źródło
Kiedy miałem JQuery v1.4.4 na stronie, żadne z nich nie działało. Po wstrzyknięciu JQuery v1.7.1 na moją stronę, działało w końcu. W moim przypadku przyczyną była moja wersja JQuery.
id ==> textareaid
======================
źródło
Wykorzystałem
$(textarea).val/html/text(any_str_var)
wszystko, co dla mnie działa. Jeśli chcesz mieć pewność, że twoja zmienna jako ciąg znaków zostanie dodana do obszaru tekstowego, zawsze możesz konkatować w następujący sposób:Metoda .val () jest zdecydowanie używana w obszarze tekstowym - patrz: https://api.jquery.com/val/
.html () może być użyty do pobrania lub ustawienia zawartości dowolnego elementu - patrz: https://api.jquery.com/html/#html2
.text () jest taki sam jak .html, ale można go użyć do ustawienia zawartości XML: patrz - https://api.jquery.com/text/#text-text
Możesz także przeczytać więcej o tym, jak każdy z nich działa na znaki specjalne z każdym z tych łączy.
źródło
Wystarczy użyć tego kodu, a zawsze będziesz mieć wartość:
var t = $(this); var v = t.val() || t.html() || t.text();
Więc sprawdzi val () i ustawi jego wartość. Jeśli val () otrzyma pusty ciąg, NULL, NaN os sprawdzi html (), a następnie text () ...
źródło
To działa:
Pamiętaj, że trudną częścią jest upewnienie się, że używasz prawidłowego identyfikatora. Zanim użyjesz identyfikatora, upewnij się, że umieściłeś
#
go przed nim.źródło
Korzystanie
$("textarea#ExampleMessage").html('whatever you want to put here');
może być dobrym sposobem, ponieważ.val()
może mieć problemy podczas korzystania z danych z bazy danych.Na przykład:
Pole bazy danych o nazwie as
description
ma następującą wartośćasjkdfklasdjf sjklñadf
. W takim przypadku użycie .val () do przypisania wartości do pola tekstowego może być żmudnym zadaniem.źródło
Próbowałem ustawić wartość / tekst / HTML za pomocą JQuery, ale nie powiodło się. Więc wypróbowałem następujące.
W tym przypadku wstrzykiwałem nowy element textarea do utworzonego DOM.
źródło