03/08/2018, 10:09

jQuery Selectors - Form Filter

Như các bạn biết để lấy dữ liệu từ Clien thì bắt buộc chúng ta phải thông qua Form, mỗi form sẽ có nhiều định dạng dữ liệu khác nhau như dữ liệu ...

Như các bạn biết để lấy dữ liệu từ Clien thì bắt buộc chúng ta phải thông qua Form, mỗi form sẽ có nhiều định dạng dữ liệu khác nhau như dữ liệu dạng Text, dạng Checkbox, dạng Selecbox, ... Ngoài ra, trước khi lấy dữ liệu của client thì chúng ta phải kiểm tra định dạng dữ liệu có phù hợp hay không? Người dùng có nhập dữ liệu hay không? Để làm được như vậy thì chúng ta phải lấy giá trị từ các ô input. Có nhiều loại input như textbox, select, textarea, file, ... và trong bài này chúng ta sẽ học các selector giúp truy vấn nhanh đến các đối tượng này.

1. Danh sách các Form Filter trong jQuery

Có tổng cộng 15 Form Selector, và vì có quá nhiều nên mình sẽ giải thích ngắn gọn và đưa ra một ví dụ tổng hợp để các bạn dễ hiểu hơn.

Danh sách 15 loại Form Selector trong jQuery:

Cú pháp Ý nghĩa
$(':button') Lấy tất cả các thẻ HTML có type là button hoặc thẻ button
$(':checkbox') Lấy tất cả các thẻ HTML có type là checkbox
$(':checked') Lấy tất cả các thẻ HTML có trạng thái là checked hoặc selected
$(':disabled') Lấy tất cả các thẻ HTML có trạng thái là disabled
$(':enabled') Lấy tất cả các thẻ HTML có trạng thái là enabled
$(':file') Lấy tất cả các thẻ HTML có type là file
$(':focus') Lấy thẻ HTML đang được focus (con trỏ chuột đang nằm tại đó)
$(':image') Lấy tất cả các thẻ HTML có type là image
$(':input') Lấy tất cả các thẻ HTML input, textarea, select, button
$(':password') Lấy tất cả các thẻ HTML có type là password
$(':radio') Lấy tất cả ccs thẻ HTML có type là radio
$(':reset') Lấy tất cả các thẻ HTML có type là reset
$(':selected') Lấy tất cả các thẻ HTML có trạng thái selected (thẻ option)
$(':submit') Lấy tất cả các thẻ HTML có type là submit
$(':text') Lấy tất cả các thẻ HTML có type là text

Với 15 loại Form Filter này bạn có thể sàn lọc rất dễ dàng, nhất là kết hợp với các Selector thông thường. Ví dụ bạn muốn lấy thẻ input có class là username thì sử dụng đoạn code sau:

var username_element = $(':input.username')

Hoặc bạn muốn lấy danh sách các checkbox đã được check và xử lý chúng thì bạn sử dụng cú pháp sau kết hơp với vòng lặp.

var checkbox = $(':checked');
for (var i = 0; i < checkbox.length; i++){
    document.write('Giá trị là' +$(checkbox[i]).val()+ ' <br/>');
}

Để dễ hơn nữa thì mỗi ô input chúng ta nên đặt cho chúng một ID duy nhất để xử lý dễ dàng hơn, ví dụ:

var username = $('#username').val();
var password = $('#password').val();

Một ví dụ khác về Form Filter trong jQueryThiết lập border có màu sắc khác nhau cho một số thẻ HTML thuộc nhóm Form.

Demo RUN
$(':text').css('border', 'solid 2px red');
$(':password').css('border', 'solid 2px blue');
$(':file').css('border', 'solid 2px pink');
$(':selected').parent().css('border', 'solid 2px green');
$(':submit').css('border', 'solid 2px black');
$(':button').css('border', 'solid 2px yellow');

Như vậy việc xử lý chuỗi Selector rất giống với CSS, vì vậy nếu bạn rành CSS thì rất dễ nhớ các cú pháp này.

2. Lời kết

Bài này mình chỉ giới thiệu với các bạn danh sách các Form Filter trong jQuery nên mình không đưa ra các ví dụ cụ thể, một phần cũng vì nó quá dễ hiểu rồi nên bạn có thể tự mày mò được. Trường hợp bạn vẫn không hiểu thì có thể lên trang chủ jQuery để dọc thêm.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

0