Cách tạo danh sách thả xuống chỉ đọc trong JavaScript

Tôi nhận thấy rằng khi tôi sử dụng tính năng vô hiệu hóa hoặc chỉ đọc trên các trường nhập liệu thả xuống được chọn thì không có gì thực sự thay đổi. Bạn vẫn có thể chọn một mục khác trong danh sách chọn

Mục tiêu của tôi là cho phép người dùng xem dữ liệu chỉ đọc hoặc bị vô hiệu hóa trong biểu mẫu và chỉ được phép cập nhật trường tôi chọn

Bất kỳ ai cũng có bất kỳ ý tưởng nào về cách ngăn người dùng nhập dữ liệu vào đầu vào bị vô hiệu hóa hoặc chỉ đọc?

Những gì về một cái gì đó như thế này

 $('#selectID').prop('disabled',false);

Cảm ơn bạn đã dành thời gian và gợi ý

bạn có thể vô hiệu hóa danh sách thả xuống (nếu bạn cần giá trị ở bất kỳ nơi nào khác, hãy lưu nó vào một biến (JS) hoặc trường ẩn (gửi biểu mẫu))

thay vì vô hiệu hóa danh sách thả xuống, bạn có thể thay thế nó bằng trường văn bản/đầu vào ẩn hoặc trường văn bản chỉ đọc

nhưng nói chung, nếu bạn muốn danh sách lựa chọn không thể chọn được thì không sử dụng danh sách lựa chọn (bằng cách bỏ qua ngay từ đầu hoặc bằng cách thay thế nó bằng một phần tử phù hợp hơn)

Bạn không thể đặt trường thả xuống ở dạng Chỉ đọc, tuy nhiên, bạn có thể đạt được điều này nếu bạn sao chép nguồn và nhúng vào trang web của mình. Bạn có thể tham khảo bài viết cách lấy Full Source Code của Form

Bạn cần thêm thuộc tính "disabled" vào lớp thả xuống của biểu mẫu. Tôi đã đính kèm ảnh chụp màn hình bên dưới giải thích cách thêm thuộc tính.  

Bằng cách này, bạn sẽ không thể thấy các tùy chọn bên trong trình đơn thả xuống. Hãy cho tôi biết nếu các công trình này. (Xem đoạn code khoanh vàng trong hình. )

Danh sách thả xuống (chọn phần tử) luôn ở chế độ chỉ đọc. Người dùng không chỉnh sửa nó. Người dùng có thể chọn bất kỳ tùy chọn nào theo lựa chọn của mình. Không giống như các phần tử html khác, nó không có thuộc tính có thể làm cho phần tử chỉ đọc và ngăn người dùng thay đổi giá trị của nó

Vậy làm thế nào để chúng ta làm điều này, khi chúng ta muốn ngăn người dùng không chỉnh sửa tùy chọn đã chọn của mình

Có một mẹo nhỏ. Tại sao chúng ta không thể vô hiệu hóa nó

Chờ giây lát…

Nhưng vì chúng tôi đang tắt trường này, trường sẽ không phải là một phần của yêu cầu khi biểu mẫu được gửi

Chúng ta có thể thực hiện một số công việc xung quanh việc này

Vì vậy, chúng tôi cần sử dụng một trường ẩn để lưu trữ giá trị tùy chọn đã chọn bị vô hiệu hóa. Khi yếu tố chọn thời điểm bị tắt, chúng ta cần tạo một trường nhập liệu ẩn trong biểu mẫu và lưu trữ giá trị đã chọn. Thời điểm nó được bật, chúng ta cần khôi phục phần tử có giá trị được lưu trong trường ẩn

Người dùng-1324486600 đã đăng

Có hai cách để vô hiệu hóa một điều khiển

1)  Bằng cách thêm một thuộc tính

thử nghiệmDDL. Thuộc tính. Add("đã tắt", "đúng");

2) Bằng cách đặt giá trị thuộc tính

thử nghiệmDDL. Đã bật = sai;

Trân trọng,

yoga

Các phần tử Select không thể được đặt thành readonly, nhưng có thể thay vào đó là disabled. Nhưng trong trường hợp này, giá trị của chúng sẽ không được gửi cùng với form

Bạn có hai lựa chọn ở đây

Một là đặt hidden input với giá trị đã chọn, sau đó vô hiệu hóa select

$(document).ready(function () {
   $("#s_id").on("change", function () {
       if ($(this).val() === "opel") {
           $("#myHiddenField").val($(this).val());
           $(this).attr("disabled", "disabled");
       }
   });
});

Cách còn lại là xóa tất cả các tùy chọn khác khỏi select, chỉ để lại tùy chọn đã chọn

Làm cách nào để vô hiệu hóa danh sách thả xuống bằng JavaScript?

Tắt/Bật Danh sách thả xuống bằng javascript .
đầu vào var = tài liệu. getElementsByClassName('dropdown-container');
if($parameters). IsActive){ /* Ativa tudo */ đầu vào. forEach(function(input){.
đầu vào var = tài liệu. querySelectorAll('input[type="text"], input[type="checkbox"], input[type="number"], input[type="tel"]');

Làm cách nào để đặt chỉ đọc trong JavaScript?

Sử dụng Phương thức setAttribute() để thêm thuộc tính chỉ đọc vào trường nhập biểu mẫu bằng JavaScript . Phương thức setAttribute(). Phương thức này thêm thuộc tính đã xác định vào một phần tử và cung cấp cho nó giá trị đã xác định. Nếu thuộc tính được chỉ định đã xuất hiện, thì giá trị đang được đặt hoặc thay đổi.

Làm cách nào tôi có thể tắt một tùy chọn trong một lựa chọn dựa trên giá trị của nó trong JavaScript?

querySelector('option[value="'+optionValue. replace(/["\\]/g, '\\$&')+'"]'). disabled = true ; .

Làm cách nào để tắt giá trị thả xuống trong jQuery?

Để tắt bất kỳ mục nào, chỉ cần thêm thuộc tính "disabled" với giá trị "disabled" vào mục danh sách .