Bộ chọn file
Bộ chọn :file chọn các phần tử có
type file, đây là các trường tải tệp lên.
Biểu thức tương đương với $(':file') là
$('[type=file]').
Vì :file không thuộc đặc tả CSS,
nên để cải thiện hiệu suất trong các
trình duyệt hiện đại, tốt hơn nên dùng
[type='file'] thay cho nó.
Cú pháp
Chúng ta chọn các phần tử có type file như thế này:
$(':file');
Cũng như với các bộ chọn lớp giả khác
(bắt đầu bằng ':'), tốt hơn nên
đặt tên thẻ hoặc một bộ chọn khác trước ':', nếu không
thì bộ chọn '*' sẽ được áp dụng,
tức là $(':file') sẽ được hiểu như là
$('*:file'), vì vậy thay vào đó tốt hơn nên
dùng $('input:file').
Ví dụ
Hãy chọn tất cả các input có type file và
đặt cho chúng nền màu xanh lá cây và viền màu đỏ bằng phương thức
css:
<form>
<input type="button" value="button">
<input type="file">
<input type="password">
<button>button</button>
<input type="reset">
<input type="radio" name="test">
<input type="radio" name="test">
<input type="checkbox">
<input type="text">
</form>
<+javascript+>
$('form input:file').css({background: 'green', border: '2px red solid'});
$('form').submit(function(event) {
event.preventDefault(); // ngăn chặn việc gửi biểu mẫu
});
<-javascript->