2011-11-29 50 views
20

Làm thế nào chính xác tôi có thể thực hiện việc chọn thẻ chỉ đọc. Tôi đã đọc rằng bạn không thể đặt một lựa chọn là chỉ đọc. Tôi làm điều đó tôi có thể thiết lập nó như là vô hiệu hóa nhưng ... Đó không phải là một lựa chọn. Tôi muốn người dùng xem phần còn lại của các tùy chọn trong thẻ chọn, nhưng không thể chọn một trong số chúng.Vô hiệu hóa/chỉ đọc thẻ trong html

Bất kỳ ý tưởng nào?

+3

điểm là gì để cho phép người dùng xem tất cả các tùy chọn nhưng không cho phép người dùng chọn bất kỳ tùy chọn nào trong số họ? – dhblah

+25

Tôi không biết. Tôi chỉ là lập trình viên. Hãy hỏi những người dùng ngu ngốc. :-( – Tiwaz89

+2

@Relborg, tôi cười to đến nỗi các đồng nghiệp của tôi cho tôi một cái nhìn lạ lùng –

Trả lời

33

bạn có thể sử dụng thuộc tính bị tắt. Ví dụ:

.

<select > 
    <option disabled="disabled" value="volvo">Volvo</option> 
    <option disabled="disabled" value="saab">Saab</option> 
    <option disabled="disabled" value="mercedes">Mercedes</option> 
    <option disabled="disabled" value="audi">Audi</option> 
</select> 
+1

Tôi thấy .. đặt từng thẻ tùy chọn là bị vô hiệu hóa thay vì tắt toàn bộ thẻ đã chọn. Cảm ơn sự giúp đỡ của bạn Saifuddin Thực sự đánh giá cao nó – Tiwaz89

+1

ngăn chặn các giá trị đã chọn được gửi với biểu mẫu, mặc dù –

+0

@ButtleButkus Có, bạn nói đúng. Các thành phần bị tắt trong biểu mẫu sẽ không được gửi Trong khi Thuộc tính bị tắt sẽ không hoạt động với để ẩn –

10

giả sử rằng thẻ id = "mySelectID", và jQuery là thường trú, sau đó:

<script language="javascript"> 
// disable all the options that are not in use: 
$("#mySelectID option").not(":selected").attr("disabled", "disabled"); 

// to remove readonly, enable them again: 
$("#mySelectID option").not(":selected").attr("disabled", ""); 
</script> 
+1

jQuery bây giờ phân biệt giữa các thuộc tính và thuộc tính , vì vậy bạn cũng có thể làm: '$ (selector) .prop ('disabled', true)' Chi tiết: http://api.jquery.com/prop/ –

0

tôi đã sử dụng các giá trị khuyết tật được lựa chọn cho thẻ tùy chọn.

Nó sẽ phục vụ mục đích nhắc người dùng chọn một tùy chọn và đồng thời vô hiệu hóa tùy chọn đó.

Ví dụ:

<option selected disabled>-Select-</option> 
0

https://coderanch.com/t/469173/select-box-READONLY-true

nếu bạn muốn tắt hộp chọn, sau đó bạn có thể sử dụng một mã javascript để kích hoạt nó trở lại trước khi hình thức nộp. Vì vậy, trên các sự kiện onsubmit của mẫu, bạn có thể bật hộp chọn để giá trị của nó cũng được gửi khi biểu mẫu được gửi ...

0

Bạn có thể làm cho nó giả-readonly bằng cách thêm style="pointer-events:none;"

Các vấn đề liên quan