Multiple Select là một plugin jQuery hữu ích cho phép bạn chọn nhiều phần tử bằng cách nhấp vào các hộp kiểm trong danh sách chọn thả xuống.

Bạn đang xem : jquery chọn nhiều mục

Multiple Select là một plugin jQuery hữu ích cho phép bạn chọn nhiều phần tử bằng cách nhấp vào các hộp kiểm trong danh sách thả xuống được chọn.

Các tính năng khác:

  • Lọc trực tiếp.
  • Hỗ trợ phần tử chọn gốc.
  • Hỗ trợ cả một lựa chọn và nhiều lựa chọn.
  • Hỗ trợ cả dữ liệu tĩnh và dữ liệu động.
  • Nhiều ngôn ngữ.
  • Bootstrap 3/4 chủ đề.
  • Các tùy chọn, phương pháp và sự kiện hữu ích.

Xem thêm:

Cách sử dụng:

1. Bao gồm thư viện jQuery và jQuery Multiple Select trên trang web của bạn

 & lt; script src = "jquery.min.js" & gt; & lt; / script & gt;
& lt; script src = "jquery.multiple.select.js" & gt; & lt; / script & gt; 

2. Bao gồm jQuery Multiple Select CSS để tạo kiểu cho hộp chọn

 & lt; link href = "multi-select.css" rel = "stylesheet" type = "text / css" & gt; 

3. Tạo một hộp chọn html tiêu chuẩn.

 & lt; select id = "demo" & gt;
  & lt; option value = "1" & gt; 1 & lt; / option & gt;
  & lt; option value = "2" & gt; 2 & lt; / option & gt;
  & lt; option value = "3" & gt; 3 & lt; / option & gt;
  ...
& lt; / select & gt; 

4. Gọi plugin trên phần tử đã chọn và hoàn tất.

 $ (function () {
  $ ("# demo"). multipleSelect ({
    // tùy chọn ở đây
  });
}); 

5. Bạn cũng được phép xác định các tùy chọn trong JavaScript:

 $ (function () {
  $ ("# demo"). multipleSelect ({
    dữ liệu: [
      {
        text: 'January',
        giá trị: 1
      },
      {
        text: 'Tháng Hai',
        giá trị: 2
      },
      {
        text: 'March',
        giá trị: 3
      }
    ]
  })
});

$ (function () {
  $ ("# demo"). multipleSelect ({
    dữ liệu: [
      {
        loại: 'optgroup',
        nhãn: 'Nhóm 1',
        bọn trẻ: [
          {
            text: 'January',
            giá trị: 1
          },
          {
            text: 'Tháng Hai',
            giá trị: 2
          },
          {
            text: 'March',
            giá trị: 3
          }
        ]
      },
      {
        loại: 'optgroup',
        nhãn: 'Nhóm 2',
        bọn trẻ: [
          {
            text: 'July',
            giá trị: 7
          },
          {
            text: 'August',
            giá trị: 8
          },
          {
            văn bản: 'Tháng 9',
            giá trị: 9
          }
        ]
      }
    ]
  })
}); 

6. Tất cả các tùy chọn có thể có để tùy chỉnh plugin.

 $ ("# demo"). multipleSelect ({

  // Văn bản giữ chỗ
  trình giữ chỗ: '',

  // một mảng dữ liệu
  dữ liệu: [],

  // ví dụ. 'en-us'
  ngôn ngữ: không xác định,

  // hiển thị hộp kiểm Chọn tất cả
  selectAll: true,

  // cho phép chọn một tùy chọn duy nhất
  single: false,

  // hiển thị nút radio khi đĩa đơn được đặt thành true
  singleRadio: false,

  // cho phép nhiều lựa chọn
  bội số: sai,

  // ẩn các hộp kiểm cho Optgroup
  hideOptgroupCheckboxes: false,

  // chiều rộng của mục
  nhiều chiều rộng: 80,

  // bề rộng
  chiều rộng: không xác định,

  // chiều rộng thả xuống
  dropWidth: không xác định,

  // chiều cao tối đa
  maxHeight: 250,
  maxHeightUnit: 'px',

  // hoặc 'hàng đầu'
  vị trí: 'bottom',

  displayHtml: false,

  // hiển thị các giá trị đã chọn
  displayValues: false,

  // hiển thị tiêu đề
  displayTitle: false,

  // dấu phân cách tùy chỉnh
  displayDelimiter: ',',

  // được sử dụng để hiển thị số lượng mục được chọn
  MinimumCountSelected: 3,

  // thêm ... sau các tùy chọn đã chọn
  dấu chấm lửng: false,

  // được mở trên init
  isOpen: false,

  // giữ cho vùng chọn luôn được mở
  keepOpen: false,

  // mở lựa chọn khi di chuột
  openOnHover: false,

  // phần tử vùng chứa
  container: null,

  // hiển thị hộp tìm kiếm để lọc qua các tùy chọn
  bộ lọc: false,

  // cho phép tìm kiếm thông qua các nhóm chọn
  filterGroup: false,

  // Văn bản giữ chỗ
  filterPlaceholder: '',

  // chọn tùy chọn trên enter
  filterAcceptOnEnter: false,

  // lọc theo độ dài dữ liệu
  filterByDataLength: không xác định,

  // hiển thị biểu tượng rõ ràng
  showClear: false,
  
  // kiểu hoạt hình
  hoạt ảnh: 'không có',

  // chức năng bộ lọc tùy chỉnh
  customFilter: function customFilter (nhãn, văn bản) {
    // originalLabel, originalText
    return label.includes (text);
  },

  formatSelectAll: function () {
    return '[Chọn tất cả]';
  },

  formatAllSelected: function () {
    return 'Tất cả được chọn';
  },

  formatCountSelected: function () {
    trả về '# trong số% được chọn';
  },

  formatNoMatchesFound: function () {
    return 'Không tìm thấy kết quả phù hợp nào';
  },

  trình tạo kiểu: function () {
    trả về sai;
  },

  textTemplate: function ($ elm) {
    trả về $ elm.html ();
  },

  labelTemplate: function ($ elm) {
    return $ elm.attr ('nhãn');
  }

}); 

7. Các chức năng gọi lại có sẵn.

 $ ("# demo"). multipleSelect ({

  onOpen: function () {
      trả về sai;
  },
  onClose: function () {
      trả về sai;
  },
  onCheckAll: function () {
      trả về sai;
  },
  onUncheckAll: function () {
      trả về sai;
  },
  onFocus: function () {
      trả về sai;
  },
  onBlur: function () {
      trả về sai;
  },
  onOptgroupClick: function (view) {
      trả về sai;
  },
  onClick: function (view) {
      trả về sai;
  },
  onFilter: function () {
      trả về sai;
  },
  onAfterCreate: function () {
      trả về sai;
  }

}); 

8 Sự kiện.

  • onOpen: Kích hoạt khi danh sách thả xuống đang mở.
  • onClose: Kích hoạt khi danh sách thả xuống đóng.
  • onCheckAll: Kích hoạt khi tất cả các tùy chọn được chọn bằng cách nhấp vào hộp kiểm “Chọn tất cả” hoặc khi phương thức “checkall” được gọi theo chương trình.
  • onUncheckAll:
  • onFocus: Liên kết trình xử lý sự kiện với “tiêu điểm”.
  • onBlur: Liên kết trình xử lý sự kiện với “độ mờ”
  • onOptgroupClick: Kích hoạt khi một nhãn optgroup được nhấp vào.
  • onClick: Kích hoạt khi hộp kiểm được chọn hoặc bỏ chọn.
Xem Thêm  Cách tạo video toàn màn hình bằng CSS và HTML - video html toàn màn hình

9. Các phương thức API.

 // Nhận các giá trị đã chọn.
alert ('Các giá trị đã chọn:' + $ ('select'). multipleSelect ('getSelects'));
alert ('Văn bản đã chọn:' + $ ('select'). multipleSelect ('getSelects', 'text'));

// Đặt các giá trị đã chọn.
$ ('select'). multipleSelect ('setSelects', [1, 3]);

// Cho phép Chọn.
$ ('select'). multipleSelect ('enable');

// Tắt tính năng Chọn. Trong chế độ này, người dùng không được phép thao tác lựa chọn.
$ ('select'). multipleSelect ('vô hiệu hoá');

// Đánh dấu vào tất cả các hộp kiểm.
$ ('select'). multipleSelect ('checkAll');

// Bỏ chọn tất cả các hộp kiểm.
$ ('select'). multipleSelect ('bỏ chọn Tất cả');

// Tập trung vào nhiều lựa chọn.
$ ('select'). multipleSelect ('tiêu điểm');

// Làm mờ nhiều lựa chọn.
$ ('select'). multipleSelect ('làm mờ');

// Tải lại Nhiều Lựa chọn.
$ ('select'). multipleSelect ('refresh');

// Trả về đối tượng tùy chọn.
$ ('select'). multipleSelect ('getOptions');

// Lên các tùy chọn của  ngày 
$ ('select'). multipleSelect ('refreshOptions', Options);

// Hủy nhiều lựa chọn
$ ('select'). multipleSelect ('tiêu diệt');

Changelog:

v1.5.2 (2019-11-13)

  • Cập nhật: Đã sửa lỗi chọn cuộn dưới cùng ảo.
  • Cập nhật: Đã sửa lỗi phần tử không bị phá hủy bằng v-if.

v1.5.1 (2019-11-05)

  • Mới: Đã thêm hỗ trợ thay đổi vị trí xem.
  • Cập nhật: Đã sửa lỗi v-model không kiểm tra hết lỗi.
  • Cập nhật: Đã sửa lỗi kích hoạt sự kiện tài liệu nhiều lần.

v1.5.0 (2019-10-28)

  • Mới: Viết lại mã hiển thị và mã logic dữ liệu.
  • Mới: Đã thêm hỗ trợ tự động một hoặc nhiều.
  • Mới: Đã thêm cuộn ảo cho dữ liệu lớn.
  • Mới: Đã thêm hỗ trợ giá trị đối tượng.
  • Mới: Đã thêm đối tượng cho v-model.
  • Mới: Đã thêm các thuộc tính dữ liệu cho nhóm chọn và tùy chọn.
  • Mới: Đã thêm thuộc tính tabindex.
  • Mới: Đã thêm tùy chọn showClear và sự kiện onClear.
  • Mới: Đã thêm tùy chọn maxHeightUnit.
  • Mới: Đã thêm ngôn ngữ it-IT.
  • Cập nhật: Cải thiện logic kích hoạt sự kiện.
  • Cập nhật: Đã cập nhật kiểu nhóm duy nhất.
  • Cập nhật: Các thông số cập nhật của các sự kiện onOptgroupClick và onClick.
  • Cập nhật: Đã sửa lỗi cảnh báo vue khi dữ liệu là Đối tượng.
  • Cập nhật: Đã xóa tùy chọn displayHtml và hiển thị html theo mặc định.

v1.4.3 (2019-10-22)

  • Mới: Đã thêm hỗ trợ đối tượng cho tùy chọn dữ liệu.
  • Cập nhật: Đã cập nhật tên tệp bản dựng vue-es.
  • Cập nhật: Đã cập nhật tên sự kiện thành định dạng gạch nối chữ thường của thành phần vue.
  • Cập nhật: Đã sửa lỗi defaultValue không có v-model.
  • Cập nhật: Đã sửa lỗi bỏ chọn tất cả không thể kích hoạt lỗi thay đổi.
  • Cập nhật: Đã sửa lỗi v-model not work khi thay đổi đạo cụ.
  • Cập nhật: Đã sửa lỗi ném phiên bản tối thiểu không thể chuyển đổi đối tượng thành lỗi giá trị nguyên thủy.
  • Cập nhật: Đã xóa không gian nhãn của các thông số customFilter.
  • Cập nhật: Đã xóa các khoảng trắng văn bản của nhãn tùy chọn.

v1.4.2 (ngày 10 tháng 10 năm 2019)

  • Mới: Đã thêm hỗ trợ mảng chuỗi / số cho tùy chọn dữ liệu.
  • Mới: Đã thêm hỗ trợ thuộc tính bắt buộc.
  • Mới: Đã thêm hỗ trợ các chủ đề bootstrap (v3, v4).
  • Cập nhật: Sự kiện onAfterCreate được cải thiện.
  • Cập nhật: Đã sửa lỗi bị phá hủy của thành phần vue.
  • Cập nhật: Đã sửa lỗi hiển thị chỉ của một thành viên trong nhóm.
  • Cập nhật: Đã sửa lỗi bộ lọc nhóm đơn.

v1.4.1 (2019-09-24)

  • Đã thêm hỗ trợ dữ liệu.

v1.4.0 (2019-09-01)

  • Đã thêm hỗ trợ dữ liệu.
  • Đã thêm thành phần vue.
  • Đã thêm hỗ trợ ngôn ngữ.
  • Đã thêm phương thức getOptions.
  • Đã thêm tùy chọn singleRadio để hỗ trợ ẩn các nút radio.
  • Đã thêm trang web mới.
  • Đã thêm bower.json.
  • Đã thêm ví dụ vue-starter.
  • Cải thiện phần tử nhãn cho lựa chọn.
  • Văn bản cải tiến chỉ hiển thị một tùy chọn.
  • Đã khắc phục lỗi bản dựng IE với core-js devDependencies.
  • Đã sửa lỗi kích hoạt onCheckAll / onUncheckAll.
  • Các tùy chọn bị vô hiệu hóa đã sửa không thể hiển thị sau khi lọc.
  • Đã sửa lỗi bộ lọc đơn.
Xem Thêm  Làm cách nào để gửi một yêu cầu HTTP GET? - làm thế nào để thực hiện một yêu cầu

v1.3.1 (2019-08-21)

  • Đã sửa lỗi hiển thị mặt hàng đã chọn optgroup
  • Đã sửa lỗi bộ lọc li hiển thị khoảng trắng
  • Đã sửa lỗi chiều rộng bên ngoài của vùng chứa
  • Đã cập nhật tùy chọn addTitle thành tùy chọn displayTitle
  • Đã sửa lỗi bộ lọc không có tùy chọn lựa chọn hiển thị lỗi
  • Đã sửa lỗi openOnHover
  • Đã cập nhật các thông số onOptgroupClick và onClick
  • Đã cập nhật định dạngCountSelected tham số
  • Đã thêm hỗ trợ ngôn ngữ

v1.3.0 (2019-05-15)

  • Mới: Viết lại mã thành ES6.
  • Mới: Đã thêm tùy chọn filterGroup.
  • Mới: Đã thêm babel và tinh chỉnh mã.
  • Mới: Bản phân phối được sử dụng để xuất các tệp bản dựng.
  • Mới: Đã thêm các ví dụ đầy đủ.
  • Cập nhật: Đã sửa lỗi thoát css

v1.2.3 (2019-04-27)

  • Mới: Đã thêm sự kiện onAfterCreate
  • Mới: Các nhãn tùy chọn đã tạo xuất hiện có thể nhấp được
  • Mới: Trình giữ chỗ được phép từ html
  • Cập nhật: Các nhóm đã cố định không được kiểm tra theo mặc định
  • Cập nhật: Đã sửa lỗi getSelects với một tùy chọn duy nhất
  • Cập nhật: Đã xóa phương pháp hủy trùng lặp
  • Cập nhật: Đã sửa lỗi cú pháp CSS đã lỗi thời ở tuyến tính gradient
  • Cập nhật: Đã xóa chọn Tất cả khoảng trắng
  • Cập nhật: Đã sửa lỗi selectAllText / allSelected không hoạt động
  • Cập nhật: Đã sửa lỗi crash IE 11
  • Cập nhật: Đã sửa lỗi kiểu radio

v1.2.2 (2018-12-23)

  • Đã cập nhật giá trị mặc định của textTemplate thành .html ().
  • Đã thêm khoảng bao quanh vào văn bản nhãn.
  • Đã thêm phương thức hủy.
  • Đã thêm tùy chọn openOnHover.
  • Tạo lại tài liệu và sử dụng trang gh.
  • Cập nhật multiple-select.css.
  • Đặt setSelects Change Event Trigger Tùy chọn

v1.2.1 (2016-01-03)

  • Khắc phục: một lần chọn với lỗi Nhóm chọn.
  • Khắc phục: vấn đề về ký tự đặc biệt.
  • Khắc phục: Đã thêm sự kiện onFilter.
  • Khắc phục: đã thêm tùy chọn hoạt ảnh để hỗ trợ hoạt ảnh mờ dần và trượt.
  • Khắc phục: phát hiện phần tử.
  • Khắc phục tình trạng phụ thuộc jQuery.
  • Đã khắc phục sự cố tắt.
  • Thêm lớp đã chọn vào tùy chọn ‘chọn tất cả’.
  • Đã thêm logic để thực hiện so sánh không nhạy trọng âm khi lọc các giá trị.
  • Đã thêm tùy chọn dropWidth.
  • Đã thêm các phương thức mở và đóng.

v1.2.0 (2015-11-24)

  • [enh] Cập nhật jquery.multiple.select.js thành multiple-select.js.
  • [enh] Kích hoạt thay đổi đối với lựa chọn sau khi đặt giá trị mới.
  • [bug] Ngăn updateSelectAll () gọi options.onCheckAll () trên init.
  • [enh] Đã thêm tùy chọn labelTemplate.
  • [bug] Sửa Tự động đặt Nhóm khi tất cả trẻ được chọn.
  • [bug] Đã sửa chức năng bộ lọc với hành vi gắn nhãn ‘không có kết quả’.
  • [bug] Bản sửa lỗi # 184: ngăn lỗi xử lý thả xuống.
  • [enh] Thẻ INPUT không được đặt tên.
  • [bug] Sửa lỗi tự động ẩn khi một tùy chọn được đặt thành true.
  • [bug] Sửa lỗi hiển thị selectAll và ẩn noResults khi mở.
  • [bug] Sửa tùy chọn chiều rộng cập nhật để hỗ trợ cài đặt phần trăm.
  • [bug] Kích hoạt hộp kiểm trên toàn bộ dòng.
  • [bug] Đã thêm tùy chọn noMatchesFound.
  • [bug] Cập nhật trình phân tách thành dấu phân tách.
  • [enh] Cho phép đối tượng tùy chọn cùng với phương thức ban đầu.
  • [enh] Thêm tùy chọn filterAcceptOnEnter.
  • [enh] Đặt lớp trên ms-cha div thay vì ul.
  • [bug] Đã sửa lỗi kết nối chọn quay lại nhãn của nó.
  • [enh] Đã thêm tùy chọn hideOptgroupCheckboxes để ẩn các hộp kiểm optgroup.
  • [enh] Đã thêm tùy chọn displayValues ​​và delimiter.
  • [enh] Đã thêm tùy chọn textTemplate để tùy chỉnh văn bản.
  • [enh] Đã thêm tùy chọn selectAllDelimiter.
  • [enh] Đã thêm tùy chọn dấu chấm lửng.
  • [enh] Nhận phần trăm chiều rộng, nếu được sử dụng.
  • [bug] Sửa lỗi chính tả.
  • [bug] Đã sửa lỗi khi id phần tử chứa dấu hai chấm.
  • [bug] Sửa phần tử đã chọn hiện tại không hiển thị trong các phiên bản jquery mới hơn.
  • [bug] Sửa văn bản thuần túy được lưu trữ thành HTML.
  • [bug] Cập nhật multiple-select.png.
  • [enh] Đã thêm ‘close’ vào allowMethods.
  • [bug] Ngăn trình đơn thả xuống thỉnh thoảng đóng khi nhấp vào hộp kiểm.
  • [bug] Đã sửa lỗi menu thả xuống không đóng khi mất tiêu điểm.
  • [enh] Hỗ trợ thêm tiêu đề (chú giải công cụ) trên danh sách đã chọn.
Xem Thêm  Cách căn giữa mọi thứ bằng CSS - Căn chỉnh Div, Text, v.v. - giữa một hộp css

2014-09-23

  • chính xác lỗi đánh máy

2014-05-05

  • cập nhật tùy chọn chiều rộng để hỗ trợ cài đặt tỷ lệ phần trăm và thêm bố cục đáp ứng.

2014-04-29

  • Đã sửa: hiển thị selectAll và ẩn noResults khi mở.

2014-04-26

  • Đã sửa: tự động ẩn khi một tùy chọn được đặt thành true.

2014-04-25

  • Thêm tùy chọn keepOpen.
  • Sửa các tùy chọn isOpen và filter đều là lỗi thực sự.
  • Kích hoạt sự kiện onCheckAll khi được chọn theo đúng nghĩa đen.
  • Thêm các thuộc tính dữ liệu để được hỗ trợ.
  • Thêm tùy chọn tên.

2014-04-19

  • Đã sửa: kích hoạt onCheckAll khi chọn từng phần tử theo nghĩa đen cho đến khi tất cả được chọn.
  • Đã sửa: gọi hàm mở sau khi init khi các tùy chọn isOpen và bộ lọc được đặt thành true.

v1.0.9 (2014-04-15)

  • thêm các sự kiện onFocus và onBlur.
  • Sửa lỗi hiển thị countSelected khi lựa chọn đã tắt các tùy chọn.

v1.0.8 (2014-03-12)

  • thêm thông báo ‘Không tìm thấy kết quả phù hợp’ khi không tìm thấy kết quả nào.

v1.0.7 (2014-03-06)

  • thêm tùy chọn vị trí.

v1.0.6 (2014-03-06)

  • đã sửa lỗi bộ lọc không hoạt động.

v1.0.6 (2014-03-05)

  • thêm một để chỉ cho phép một lựa chọn duy nhất.

v1.0.5 (2013-11-27)

  • cập nhật văn bản chọn trong nhóm optgroups.
  • hình ảnh cố định không được hiển thị trong Firefox 25.0.1

Plugin jQuery tuyệt vời này được phát triển bởi wenzhixin . Để biết thêm các Cách sử dụng Nâng cao, vui lòng kiểm tra trang demo hoặc truy cập trang web chính thức.


Xem thêm những thông tin liên quan đến chủ đề jquery chọn nhiều mục

jQuery vs. Vanilla JavaScript: Selecting HTML Elements

  • Tác giả: dcode
  • Ngày đăng: 2021-01-08
  • Đánh giá: 4 ⭐ ( 1506 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In today’s video we’ll be taking a look at the difference between jQuery and vanilla JavaScript when it comes to selecting HTML elements.

    This is for educational purposes and to help developers understand what jQuery does under the hood, and to see the possible alternative of using plain (or vanilla) JavaScript.

    Support me on Patreon:
    https://www.patreon.com/dcode – with enough funding I plan to develop a website of some sort with a new developer experience!

    Follow me on Twitter @dcodeyt!

    If this video helped you out and you’d like to see more, make sure to leave a like and subscribe to dcode!

    dcode javascript

Chọn nhiều bộ chọn

  • Tác giả: hocwebchuan.com
  • Đánh giá: 4 ⭐ ( 2435 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chọn nhiều bộ chọn giúp bạn có thể chọn một lúc nhiều bộ chọn khác nhau, tốn ít thời gian hơn cho việc chọn từng bộ chọn. – Học Web Chuẩn

Bộ jQuery Chọn chỉ mục

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 3627 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] LƯU Ý : câu trả lời phụ thuộc vào jQuery 1.6.1+ $(‘#selectBox :nth-child(4)’).prop(‘selected’, true); // To…

[jQuery] Bài 2 – Các Bộ Chọn & Thao Tác Cơ Bản

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 3980 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để bắt đầu viết code ví dụ với jQuery, chúng ta sẽ tận dụng code HTML/CSS của dropdown mà chúng ta đã xây dựng trong những bài viết trước của Series JavaScript. Sau khi làm quen với các công cụ mà jQu…

Selector trong jquery

  • Tác giả: toidicode.com
  • Đánh giá: 4 ⭐ ( 3755 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Jquery là một thư viện hỗ trợ rất mạnh về selectors, nếu như trong javascript thuần để selector nhiều cấp thì chúng ta phải viết những câu lệnh rất dài dòng. Nhưng khi chúng ta sử dụng jquery thì điều đó lại hết sức đơn giản.

Chọn một phần tử theo chỉ mục

  • Tác giả: hiepsiit.net
  • Đánh giá: 3 ⭐ ( 5026 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

[JQuery] Phần 3: Các hàm chọn jQuery (jQuery Selectors)

  • Tác giả: www.dammio.com
  • Đánh giá: 3 ⭐ ( 6332 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php