Saya bertanya-tanya bagaimana saya bisa memasukkan teks ke dalam area teks menggunakan jquery, setelah mengklik tag jangkar.
Saya tidak ingin mengganti teks yang sudah ada di textarea, saya ingin menambahkan teks baru ke textarea.
jquery
formatting
textarea
Oliver Stubley
sumber
sumber
Jawaban:
Dari apa yang Anda miliki di komentar Jason, cobalah:
Edit- Untuk menambahkan teks lihat di bawah
sumber
Saya suka ekstensi fungsi jQuery. Namun, ini merujuk ke objek jQuery bukan objek DOM. Jadi saya telah memodifikasinya sedikit untuk membuatnya lebih baik (dapat memperbarui dalam beberapa kotak teks / textareas sekaligus).
Ini bekerja dengan sangat baik. Anda dapat menyisipkan ke beberapa tempat sekaligus, seperti:
sumber
sel
dimaksudkan untuk menjadi global?Saya menggunakan fungsi ini dalam kode saya:
Itu bukan milikku 100%, aku mencari di suatu tempat lalu mencari aplikasi milikku.
Pemakaian:
$('#element').insertAtCaret('text');
sumber
Saya tahu ini adalah pertanyaan lama tetapi bagi orang yang mencari solusi ini perlu dicatat bahwa Anda tidak harus menggunakan append () untuk menambahkan konten ke textarea. metode append () menargetkan innerHTML bukan nilai dari textarea. Konten dapat muncul di textarea tetapi tidak akan ditambahkan ke nilai bentuk elemen.
Seperti disebutkan di atas menggunakan:
akan bekerja dengan baik.
sumber
ini memungkinkan Anda "menyuntikkan" sepotong teks ke kotak teks, menyuntikkan berarti: menambahkan teks di mana kursor berada.
Dan Anda dapat menggunakannya seperti ini:
Lucu dan memiliki lebih banyak rasa ketika kita memiliki fungsionalitas "Masukkan Tag ke Teks".
berfungsi di semua browser.
sumber
.focus()
doa dan pembaruan untukselectionStart
danselectionEnd
setelah modifikasi. Variabel Spanyol mungkin telah digunakan untuk membenarkan jawaban lain ...Hej ini adalah versi modifikasi yang berfungsi OK di FF @least untuk saya dan sisipkan pada posisi caret
sumber
sudahkah anda mencoba:
tidak yakin tentang autohighlighting.
EDIT :
Untuk menambahkan:
sumber
append()
tidak bekerja pada nilai atextarea
. Theappend()
Metode menargetkan innerHTML, bukan nilai textarea.Apa yang Anda minta harus cukup mudah di jQuery-
Cara terbaik yang dapat saya pikirkan untuk menyoroti teks yang dimasukkan adalah dengan membungkusnya dalam rentang dengan kelas CSS dengan
background-color
set ke warna pilihan Anda. Pada sisipan berikutnya, Anda bisa menghapus kelas dari bentang yang ada (atau menghapus bentang).Namun, Ada banyak editor WYSIWYG HTML / Rich Text gratis yang tersedia di pasaran, saya yakin Anda akan cocok dengan kebutuhan Anda
sumber
Berikut ini adalah solusi cepat yang berfungsi di jQuery 1.9+:
a) Dapatkan posisi caret:
b) Tambahkan teks pada posisi tanda sisipan:
c) Contoh
sumber
Ini berfungsi baik untuk saya di Chrome 20.0.11
sumber
Jika Anda ingin menambahkan konten ke textarea tanpa menggantinya, Anda dapat mencoba di bawah ini
Menurut skenario Anda, itu akan terjadi
sumber
Saya pikir ini akan lebih baik
sumber
Solusi lain dijelaskan juga di sini jika beberapa skrip lain tidak berfungsi dalam kasus Anda.
sumber
Ini mirip dengan jawaban yang diberikan oleh @panchicore dengan bug minor diperbaiki.
sumber
Solusi sederhana adalah: ( Asumsi : Anda ingin apa pun yang Anda ketik di dalam kotak teks untuk ditambahkan ke apa yang sudah ada di textarea )
Dalam acara onClick dari tag <a>, tulis fungsi yang ditentukan pengguna, yang melakukan ini:
(di mana id, textId1 - untuk o / p textArea textId2 -untuk i / p textbox ')
sumber
sumber
Saya menggunakan itu dan itu bekerja dengan baik :)
Remi
sumber