Phần sau đây mô tả cách theo dõi trạng thái của các hộp kiểm cho dù nó có được chọn hay không bằng cách sử dụng phương thức prop[]
của jQuery cũng như bộ chọn :checked
Sử dụng Phương thức prop[]
của jQuery
Phương thức prop[]
của jQuery cung cấp một cách đơn giản, hiệu quả và đáng tin cậy để theo dõi trạng thái hiện tại của hộp kiểm. Nó hoạt động khá tốt trong mọi điều kiện vì mọi hộp kiểm đều có thuộc tính được chọn chỉ định trạng thái được chọn hoặc không được chọn của nó
Đừng hiểu lầm nó với thuộc tính checked
. Thuộc tính checked
chỉ xác định trạng thái ban đầu của hộp kiểm chứ không phải trạng thái hiện tại. Hãy xem nó hoạt động như thế nào
Sử dụng Bộ chọn :checked
của jQuery
Bạn cũng có thể sử dụng bộ chọn :checked
của jQuery để kiểm tra trạng thái của các hộp kiểm. Bộ chọn :checked
được thiết kế đặc biệt cho nút radio và hộp kiểm
Hộp kiểm là hộp lựa chọn cho phép người dùng đưa ra lựa chọn nhị phân [đúng hoặc sai] bằng cách kiểm tra và bỏ chọn hộp kiểm đó. Về cơ bản, hộp kiểm là một biểu tượng, thường được sử dụng trong các biểu mẫu và ứng dụng GUI để nhận một hoặc nhiều đầu vào từ người dùng
- Nếu một hộp kiểm được đánh dấu hoặc kiểm tra, nó cho biết là đúng;
- Nếu một hộp kiểm không được đánh dấu hoặc không được kiểm tra, hộp kiểm đó có nghĩa là sai;
Hãy nhớ rằng hộp kiểm khác với nút radio và danh sách thả xuống vì nó cho phép nhiều lựa chọn cùng một lúc. Ngược lại, nút radio và trình đơn thả xuống cho phép chúng tôi chỉ chọn một trong số các tùy chọn đã cho
Trong chương này, bây giờ chúng ta sẽ xem cách lấy tất cả giá trị hộp kiểm đã đánh dấu bằng JavaScript
Tạo cú pháp hộp kiểm
Để tạo hộp kiểm, hãy sử dụng tab HTML và nhập = "hộp kiểm" bên trong tab như hình bên dưới -
Mặc dù bạn cũng có thể tạo hộp kiểm bằng cách tạo đối tượng hộp kiểm thông qua JavaScript, nhưng phương pháp này hơi phức tạp. Chúng ta sẽ thảo luận về cả hai cách tiếp cận sau-
ví dụ
Tạo và nhận giá trị hộp kiểm
Trong ví dụ này, chúng tôi sẽ tạo hai hộp kiểm nhưng với điều kiện là người dùng sẽ chỉ phải đánh dấu một hộp kiểm giữa chúng. Sau đó, chúng tôi sẽ lấy giá trị của hộp kiểm được đánh dấu. Xem mã dưới đây
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Nếu bạn đánh dấu vào ô Có và sau đó nhấp vào nút Gửi, một thông báo sẽ hiển thị như hình bên dưới
Nếu bạn nhấp vào nút Gửi mà không đánh dấu bất kỳ hộp kiểm nào, một thông báo lỗi sẽ được hiển thị
Tương tự, bạn có thể kiểm tra đầu ra cho các điều kiện khác
Nhận tất cả giá trị hộp kiểm
Bây giờ, bạn sẽ thấy cách lấy tất cả các giá trị hộp kiểm do người dùng đánh dấu. Xem ví dụ bên dưới
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Bằng cách thực thi mã này, chúng tôi sẽ nhận được phản hồi như ảnh chụp màn hình bên dưới có một số ngôn ngữ lập trình mà bạn có thể chọn ngôn ngữ mà bạn biết
Tại đây, bạn bấm vào nút Check all, nó sẽ đánh dấu tất cả các ô ngôn ngữ lập trình. Sau đó, nhấp vào nút Gửi để nhận phản hồi
Mặc dù bạn có thể chọn từng ngôn ngữ bằng cách đánh dấu vào từng hộp kiểm rồi nhấp vào nút Gửi để nhận kết quả
đầu ra. Khi bạn chưa chọn gì
Nhận tất cả giá trị hộp kiểm được đánh dấu bằng phương thức querySelectorAll[]
Có một phương pháp khác để lấy tất cả các giá trị đã chọn từ các hộp kiểm do người dùng đánh dấu. Bây giờ bạn sẽ thấy cách lấy giá trị của tất cả các hộp kiểm bằng phương thức querySelectorAll[] do người dùng đánh dấu. Thao tác này sẽ tìm nạp các giá trị hộp kiểm từ biểu mẫu HTML và hiển thị kết quả
Nhận tất cả giá trị hộp kiểm
Bây giờ, bạn sẽ thấy cách lấy tất cả các giá trị hộp kiểm do người dùng đánh dấu. Xem ví dụ bên dưới
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Tại đây, bạn có thể thấy rằng tất cả giá trị hộp kiểm được đánh dấu đã được trả lại
Các mã JavaScript khác nhau để nhận giá trị hộp kiểm được đánh dấu
Mã JavaScript để nhận tất cả các giá trị hộp kiểm đã chọn
Bạn cũng có thể sử dụng mã dưới đây để nhận tất cả các giá trị hộp kiểm đã chọn
Vì vậy, các phần tử hộp kiểm cho phép đa lựa chọn. Điều này có nghĩa là người dùng có thể chọn một hoặc nhiều tùy chọn theo lựa chọn của họ được xác định trong biểu mẫu HTML. Thậm chí bạn có thể chọn tất cả các hộp kiểm. Trong ví dụ trên, bạn đã thấy rằng