Saya mencoba untuk menetapkan nilai dalam bidang textarea menggunakan jquery dengan kode berikut:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
Masalahnya adalah, begitu kode ini dieksekusi, itu tidak mengubah teks dalam textarea?
Namun ketika melakukan alert($("textarea#ExampleMessage").attr("value"))
nilai yang baru ditetapkan dikembalikan?
Jawaban:
Sudahkah Anda mencoba val?
sumber
value
atribut HTML , tetapi itu tidak masalah, karena keduanyaval()
danattr('value')
menulis ke properti nilai JavaScript. Catatan,attr()
tidak tidak mengatur atribut HTML! Ini hanya mengatur properti JavaScript, sementara mencoba menyembunyikan perbedaan untuk kasus-kasus seperti class / className di mana namanya berbeda. Tetapi Anda masih akan melihat perbedaan untuk tempat-tempat di mana atribut dan properti melakukan hal yang berbeda, seperti dalam elemen formulir.val(foo)
bekerja untuk saya (jQuery 1.9.1). Menggunakantext(foo)
loses untuk memperbarui textarea konten kehilangan linebreak pada IE, menggunakanval(foo)
mempertahankannya.Textarea tidak memiliki atribut nilai, nilainya berasal di antara tag, yaitu:,
<textarea>my text</textarea>
tidak seperti bidang input (<input value="my text" />
). Itu sebabnya attr tidak bekerja :)sumber
$("textarea#ExampleMessage").val()
di jquery hanya sihir.Anda harus memperhatikan bahwa tag textarea menggunakan html dalam untuk menampilkan dan tidak dalam atribut nilai seperti halnya tag input.
Kamu harus menggunakan
atau
tergantung pada apakah Anda ingin menampilkannya sebagai tag html atau teks biasa.
sumber
Oohh, ayolah anak laki-laki! hanya bekerja dengan
sumber
Saya pikir ini harus berhasil:
sumber
saya punya pertanyaan yang sama jadi saya memutuskan untuk mencobanya di browser saat ini (kami satu setengah tahun kemudian setelah pertanyaan ini), dan ini (
.val
) berfungsiuntuk
sumber
.val()
akan melakukan keajaiban di beberapa browser;)Di android
.val
dan.html
tidak bekerja.melakukan pekerjaan.
sumber
Saya memiliki masalah yang sama dan solusi ini tidak berhasil tetapi yang berhasil adalah menggunakan html
sumber
html()
hanya berfungsi sekali per textarea, lain kali, Anda ingin mengubah konten secara dinamistextarea
,html()
tidak akan berfungsi ...$('#textarea').val(encodedtext);
Di sana masalahnya: Saya perlu membuat kode html dari isi div yang diberikan. Lalu, saya harus memasukkan kode html mentah ini ke dalam textarea. Ketika saya menggunakan fungsi $ (textarea) .val () seperti ini:
atau
Saya punya masalah dengan beberapa karakter khusus (& '") ketika mereka berada di antara tanda kutip. Tetapi ketika saya menggunakan fungsi: $ (textarea) .html () teksnya ok.
Ada contoh formulir:
Dan kode javascript / jquery yang tidak berfungsi untuk mengisi textarea adalah:
Akhirnya solusinya:
Caranya adalah membungkus teks Anda dengan tag rentang untuk membantu dengan fungsi replaceWith. Saya tidak yakin apakah itu sangat bersih, tetapi berfungsi dengan baik juga menambahkan kode html mentah dalam textarea.
sumber
textarea tidak menyimpan nilai sebagai
alih-alih, ia menyimpan nilai dalam format ini:
Jadi
attr("value","someString")
dapatkan hasil ini untuk Anda:coba
$("#textareaid").val()
atau$("#textareaid").innerHTML
sebaliknya.sumber
Area teks tidak memiliki nilai. jQuery .html () berfungsi dalam kasus ini
sumber
html()
hanya berfungsi sekali per textarea, lain kali, Anda ingin mengubah konten secara dinamistextarea
,html()
tidak akan berfungsi ...Ini bekerja untuk saya .... Saya telah membangun dinding buku wajah ...
Inilah dasar dari kode saya:
sumber
Untuk mengatur textarea nilai HTML yang dikodekan (untuk ditampilkan sebagai HTML) Anda harus menggunakan
.html( the_var )
tetapi seperti yang disebutkan jika Anda mencoba dan mengaturnya lagi itu mungkin (dan mungkin) tidak akan berfungsi.Anda dapat memperbaiki ini dengan mengosongkan textarea
.empty()
dan kemudian mengaturnya lagi dengan.html( the_var )
Inilah JSFiddle yang berfungsi: https://jsfiddle.net/w7b1thgw/2/
sumber
Saya mencoba
.val()
.text()
.html()
dan memiliki beberapa bug menggunakan jQuery untuk membaca atau mengatur nilai textarea ... i endup menggunakan js aslisumber
Kita dapat menggunakan metode .val () atau .text () untuk menetapkan nilai. kita perlu memasukkan nilai di dalam val () seperti val ("halo").
Lihat contoh di sini: http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html
sumber
Cukup gunakan textarea Id dengan jenisnya seperti ini:
sumber
Saya pikir ada satu aspek penting yang hilang:
hanya berfungsi ketika ada pemilih ID (#)
untuk pemilih kelas ada opsi untuk menggunakan nilai asli seperti:
sumber
Jawaban yang diterima berfungsi untuk saya, tetapi hanya setelah saya menyadari saya harus mengeksekusi kode saya setelah halaman selesai dimuat. Dalam situasi ini skrip inline tidak berfungsi, saya kira karena #my_form belum selesai memuat.
sumber
Anda bahkan dapat menggunakan cuplikan di bawah ini.
sumber
Ketika saya memiliki JQuery v1.4.4 di halaman, keduanya tidak berfungsi. Saat menyuntikkan JQuery v1.7.1 ke halaman saya, akhirnya berhasil. Jadi dalam kasus saya, itu adalah versi JQuery saya yang menyebabkan masalah.
id ==> textareaid
======================
sumber
Saya telah menggunakan
$(textarea).val/html/text(any_str_var)
semua bekerja untuk saya. Jika Anda ingin memastikan bahwa variabel Anda sebagai string ditambahkan ke textarea, Anda selalu dapat menambahkan seperti:Metode .val () pasti digunakan pada textarea - lihat: https://api.jquery.com/val/
.html () dapat digunakan untuk mendapatkan atau mengatur konten elemen apa pun - lihat: https://api.jquery.com/html/#html2
.text () sama dengan .html kecuali ini dapat digunakan untuk mengatur konten XML: lihat - https://api.jquery.com/text/#text-text
Anda juga dapat membaca lebih lanjut tentang bagaimana masing-masing bertindak atas karakter khusus dengan masing-masing tautan tersebut.
sumber
Cukup gunakan kode ini dan Anda akan selalu memiliki nilai:
var t = $(this); var v = t.val() || t.html() || t.text();
Jadi ia akan memeriksa val () dan mengatur nilainya. Jika val () mendapat string kosong, NULL, NaN os itu akan memeriksa html () dan kemudian untuk teks () ...
sumber
Ini bekerja:
Ingat, bagian yang sulit di sini adalah memastikan Anda menggunakan ID yang benar. Dan sebelum Anda menggunakan ID, pastikan Anda meletakkannya
#
terlebih dahulu.sumber
Menggunakan
$("textarea#ExampleMessage").html('whatever you want to put here');
bisa menjadi cara yang baik, karena.val()
dapat memiliki masalah ketika Anda menggunakan data dari basis data.Sebagai contoh:
Bidang database bernama sebagai
description
memiliki nilai berikutasjkdfklasdjf sjklñadf
. Dalam hal ini menggunakan .val () untuk menetapkan nilai ke textarea bisa menjadi pekerjaan yang membosankan.sumber
Saya sudah mencoba mengatur nilai / teks / html menggunakan JQuery tetapi tidak berhasil. Jadi saya mencoba yang berikut ini.
Dalam hal ini saya menyuntikkan elemen textarea baru ke setelah DOM dibuat.
sumber