Bạn có thể đặt thuộc tính disabled
của fieldset
.
Từ MDN:
Nếu thuộc tính Boolean này được thiết lập, điều khiển hình thức mà là hậu duệ của nó, ngoại trừ con cháu của nguyên tố tùy chọn đầu tiên của mình, bị vô hiệu hóa, tức là không thể chỉnh sửa. Họ sẽ không nhận được bất kỳ sự kiện duyệt web nào, chẳng hạn như nhấp chuột hoặc tập trung vào các sự kiện có liên quan. Thường thì các trình duyệt hiển thị các điều khiển như màu xám.
HTML: <fieldset disabled> ... </fieldset>
JQuery: $('#myfieldset').prop('disabled', true);
JS: document.getElementById('#myFieldset').disabled = true;
Lưu ý quan trọng: Điều này không hoạt động đúng trên Internet Explorer do một vài lỗi, nhưng hoạt động tốt ở mọi nơi khác (bao gồm Cạnh).
Bugs
IE: 1, 2
tl; dr: Text và File đầu vào không đúng cách vô hiệu hóa, và người dùng vẫn có thể tương tác với họ
Nếu đây là một đối phó breaker, bạn cần phải đi vào fieldset và đặt disabled
trên con cháu của nó như được mô tả trong các câu trả lời khác ở đây.
Trình duyệt thông tin hỗ trợ: http://caniuse.com/#feat=fieldset-disabled
Nguồn
2015-10-05 18:50:53
Cảm ơn !! Tôi đã sử dụng một cái gì đó tương tự nhưng lời giải thích của bạn sẽ hữu ích cho những thứ khác mà tôi đã làm! :-) – AndreMiranda
như jquery 1.6, [nên sử dụng '.prop()' thay vì '.attr()' để đặt giá trị của thuộc tính] (http://api.jquery.com/prop/#prop2), điều này có thể giống như: '.prop (" disabled ", true)' –
Tôi nhận thấy rằng nếu phần tử fieldset cha bị vô hiệu hóa, thì tất cả các phần tử con sẽ bị vô hiệu hóa, ngay cả khi có phần tử fieldset được kích hoạt. Đây có phải là lỗi tính năng không? – tarekahf