Cách đưa 1 văn bản vào textarea sử dụng jquery năm 2024

Plugin này được viết bởi Kenneth Auchenberg thuộc Podio Lab. Trước đây nó là một dự án đóng nhưng tới thời điểm này nó được open-source để cộng đồng cùng phát triển. Các bạn có thể truy cập vào repo của jquery.mentionsInput tại đây. Plugin dùng event input của HTML5 mỗi khi ta gõ text

Cách sử dụng khá đơn giản:

Trước tiên khai báo sử dụng Jquery.mentionsInput:

1

<script src='jquery.mentionsInput.js' type='text/javascript'></script>

Tìm đến bất cứ input nào thêm class tên mention vào.

1

<textarea class='mention'>

Khởi tại event với data có sẵn

$('textarea.mention').mentionsInput({

onDataRequest:function (mode, query, callback) {

var data = [

{ id:1, name:'Kenneth Auchenberg', 'avatar':'http://cdn0.4dots.com/i/customavatars/avatar7112_1.gif', 'type':'contact' },

`<textarea class='mention'>`0

`<textarea class='mention'>`2

`<textarea class='mention'>`4

`<textarea class='mention'>`6

`<textarea class='mention'>`8

`$('textarea.mention').mentionsInput({`0

`$('textarea.mention').mentionsInput({`2

`$('textarea.mention').mentionsInput({`4

`$('textarea.mention').mentionsInput({`6

`$('textarea.mention').mentionsInput({`7

Khởi tại event với data lấy từ CSDL

1

2

3

4

5

6

7

8

9

`$('textarea.mention').mentionsInput({`8

onDataRequest:function (mode, query, callback) {

` `2

` `4

` `6

`$('textarea.mention').mentionsInput({`7

`$('textarea.mention').mentionsInput({`6

`$('textarea.mention').mentionsInput({`7

Dữ liệu data phải có dạng JSON và cấu trúc như sau:

1

2

3

4

5

6

7

`onDataRequest:function (mode, query, callback) {`2

`onDataRequest:function (mode, query, callback) {`4

`onDataRequest:function (mode, query, callback) {`6

`onDataRequest:function (mode, query, callback) {`8

` `0

` `2

`$('textarea.mention').mentionsInput({`6

Trong đó:

id: số nguyên định danh bất kỳ name: chính là tên gợi ý ra để chọn avatar: hình ảnh trước tên icon: tên class để style cho avatar type: chính là dạng dữ liệu sẽ dùng để hiển thị gợi ý

Dạng dữ liệu của text gợi ý nếu bạn muốn lấy:

Ví dụ:

1

``4

Một số thuộc tính có thể khai báo thêm khi khởi tạo:

triggerChar: @ – dùng để chỉ định khi gõ ký tự nào sẽ hiển thị mention minChars: integer – chỉ định bao nhiêu ký tự sau khi gõ triggerChar thì mention sẽ hiển thị ra showAvatars: true|false – hiển thị avatar hay không

Một số phương thức có thể dùng để lấy dữ liệu đã nhập:

init(): dùng để khởi tạo mention trên một input nào đó reset(): xóa bỏ tất cả các text mention đã chèn ở một input nào đó val(callback): trả về giá trị gồm cả text lẫn mention ở một input nào đó getMentions(callback): chỉ trả về cấu trúc dữ liệu của mention ở một input nào đó đã chèn

Cách sử dụng các phương thức:

1

2

3

``5

` `7

`$('textarea.mention').mentionsInput({`7

Trong đó

textarea.mention: tên element nào đó val: chính là tên phương thức (bạn có thể dùng 1 trong 4 phương thức bên trên)

Lưu ý: là chỉ 2 phương thức có callback mới dùng function để xử lý data nhé.

Tương thích: Jquery.mentionsInput có thể chạy trên Firefox 6+, Chrome 15+, và Internet Explorer 8+ và yêu cầu jQuery (1.6+) trở lên.

Trong ví dụ trên có dùng thêm underscore.js để sử dụng function _.filter

Ngoài ra có thể dùng thêm plugin jquery.elastic.js để làm cho mục gợi ý co giãn để phù hợp với chiều rộng của input

Các chuyên đề loading trước đây cho chúng ta biết được cách tạo một hiệu ứng loading như thế nào, với chuyên đề này sẽ giúp các bạn biết được cách sử dụng để tạo thực tế hiệu ứng loading.

Chi tiết

Đoạn code sau đây sẽ giúp chúng ta sử dụng các thành phần khác đối xử như một radio style.

Chi tiết

Một lúc nào đó bạn cần những button đối ứng như một checkbox, thì đoạn code sau đây sẽ giúp bạn.

Chi tiết

Cũng tương tự như input, chúng ta cũng có thể sử dụng cho textarea.

Chi tiết

Placeholder hiện nay được sử dụng khá dễ dàng với html5, tuy nhiên đối với html hay xhtml thì việc dùng js hay jquery lại khá quan trọng.

Chi tiết

Đôi khi trong một số trường hợp ta dùng liên kết để upload file thay vì dùng mặc định từ input type=”file”

Chi tiết

Việc lấy ngày tháng không phải là việc kho nếu bạn nắng vững một số hàm cơ bản trong javascript.

Chi tiết

Một đoạn văn bản dài, khi muốn giới hạn lại số lượng từ, và nội dung còn lại sẽ được thay thế bằng một liên kết Xem thêm, nội dung này sẽ được hiển thị khi ta click vào liên kết.

Chi tiết

Canh thành phần giữa màn hình ngay cả khi resize màn hình lớn nhỏ khác nhau.

Chi tiết

Việc canh giữa thành phần con theo chiều dọc và cả theo chiều ngang bằng CSS trở nên phức tạp, với jQuery bạn có thể thực hiện dễ dàng hơn với cách dùng đơn giản hơn.

Chi tiết

Đôi khi muốn thêm một thành phần vào trước thành phần đã có, có khi cần nhiều cách xử lý chuỗi, hay kết hợp nhều thành phần khác nhau, ở jQuery có cung cấp cho chúng ta cách tiếp cần dễ hơn với .before().

Chi tiết

Thêm mới một thành phần ngay sau thành phần đã tồn tại, không gì hay bằng .after().

Chi tiết

Nếu việc thêm một thành phần gây mất thời gian cho bạn khi phải lấy giá trị và cộng chuỗi, thì jQuery cung cấp một function đơn giản hơn .append().

Chi tiết

Để thêm hoặc di chuyển một thành phần mới tới thành phần đã tồn tại, chúng ta có thể làm nhiều cách khác nhau, một trong cách hữu dụng mà đơn giản là dùng .appendTo().

Chi tiết

Trong jQuery có một hàm rất hữu dụng trong việc lấy nội dung của các thành phần html, đó chính là .html() – đơn gian, dễ sử dụng.