'Bỏ chọn' một radiobutton? [đóng cửa]


14

Tôi đã luôn tự hỏi liệu có cách nào hay mẹo để bỏ chọn nút radio sau khi bạn đã chọn một nút không.

Tôi đang hỏi đây là một câu hỏi chung chung, không liên quan đến một chương trình cụ thể. nó có thể là một chương trình máy tính để bàn hoặc một trang web.

Khi bạn nhấp vào nút radio, có vẻ như không có cách nào để bỏ chọn nó, vì vậy nếu bạn muốn để trống trường, bạn không thể một khi bạn đã thực hiện lựa chọn. Đó là loại 'buộc' bạn phải chọn một cái gì đó.

CẬP NHẬT : Tôi xin lỗi, tôi đã đề cập đến các nút radio và không phải hộp kiểm, tôi nhầm lẫn các điều khoản.


2
Bạn có thể đưa ra một ví dụ cụ thể về nơi bạn đã thấy hành vi này? Thông thường các hộp kiểm cho phép bạn kiểm tra và bỏ chọn hộp.
heavyyd

2
Tôi nghĩ rằng bạn đang nói về các nút radio?
Fretje

@fretje: vâng, tôi xin lỗi. tôi đã đề cập đến các nút radio
nmuntz

3
radiobuttons không thể được bỏ chọn "theo thiết kế"
fretje

3
Nếu bạn đã từng gặp một chiếc radio ô tô cũ, các nút cài sẵn là các vật thể mà bạn phải ấn vào. Đẩy vào cái này bật ra cái kia. Không thể "bỏ chọn" cái này mà không đẩy vào cái khác. Tôi chắc chắn đó là nơi tên "nút radio" xuất phát.
ale

Câu trả lời:


31

Bạn đang nghĩ về các nút radio:

một nhóm các hộp kiểm tròn trong đó mỗi lần chỉ có thể được chọn

Càng và bất kỳ giao diện nào khiến bạn muốn bỏ chọn một nhóm các nút radio là Làm điều đó sai. Các nút radio nên (tốt nhất) bắt đầu với một tùy chọn mặc định được chọn, không chấp nhận đầu vào nếu người dùng không đưa ra lựa chọn hoặc (tệ nhất) cung cấp một nút để bỏ chọn mọi thứ.

Nếu phàn nàn với nhà thiết kế phần mềm / trang web không phải là một tùy chọn, thì đây là bookmarklet bỏ chọn mọi nút radio trên một trang:

javascript:(function(){var%20inputs%20=%20document.getElementsByTagName(%27input%27);for(var%20i%20=%20inputs.length-1;i>=0;i--){if(inputs[i].getAttribute(%27type%27)===%27radio%27)inputs[i].checked=false}})()

... Và đây là phiên bản hoạt động trong bảng điều khiển:

(function(){var inputs = document.getElementsByTagName('input');for(var i = inputs.length-1;i>=0;i--){if(inputs[i].getAttribute('type')==='radio')inputs[i].checked=false}})()

Nếu bạn đang xử lý phần mềm máy tính để bàn, tùy chọn duy nhất thường là thoát ra khỏi màn hình có vấn đề và quay lại.


Tôi vấp phải điều này cứ thỉnh thoảng với các cuộc khảo sát trực tuyến được thiết kế tồi. Tôi không thể chạy tập lệnh này vì nó nói "Mã thông báo bất ngờ% " khi chạy tập lệnh này trong bảng điều khiển của Chrome. Thay vào đó, những gì tôi đã làm là sử dụng khả năng chỉnh sửa html của Chrome: Nhấn F12. Nhấn vào kính lúp nhỏ ở bên trái, chọn nút vô tuyến (nó phải là một liphần tử), sau đó nhấp chuột phải vào ulphần tử xung quanh và chọn Chỉnh sửa dưới dạng HTML . Sao chép một trong các nút radio ( liphần tử) khác và chèn nó bên cạnh các nút khác. Chọn nó trên trang, sau đó chỉnh sửa ullại để loại bỏ nút radio.
Aske B.

1
@AskeB. Tôi vừa thêm một phiên bản hoạt động trong giao diện điều khiển!
s4y

7

Thêm một nút radio gọi là Không có


1
+1 Đó là những gì tôi sẽ làm ... Các nút radio không thể được bỏ chọn "theo thiết kế"!
Fretje

3

Đó thường là một vấn đề với Nút Radio, loại tiện ích lựa chọn hình tròn cho phép chỉ một trong số các nhóm được chọn. Các hộp kiểm được thiết kế để kiểm tra hoặc bỏ chọn. Tôi nghi ngờ rằng các hộp kiểm nói chung không cho phép bỏ hoang. Nó có thể là tốt để đưa ra ví dụ về vấn đề của bạn.

Lưu ý rằng nếu bạn gặp sự cố 'bỏ chọn' mục được chọn cuối cùng trong một tập hợp, sẽ luôn tốt khi thử nhấp vào lựa chọn của bạn trong khi nhấn CTRL cùng một lúc.


2
Nó không thực sự là một vấn đề, họ cần phải có một lựa chọn. Chúng không được sử dụng khi "không có câu trả lời" là hợp lệ.
Greg D

Tôi đã sử dụng 'nói chung là một vấn đề với' như một thiết bị tu từ để chỉ ra rằng OP có thể đang đề cập đến các nút radio, chứ không phải các hộp kiểm. Tôi không có ý ám chỉ rằng nó thực sự là một vấn đề.
akf

1
+1 cho giải pháp CTRL, thường không được biết đến
Gnoupi

0

Bạn có chắc là bạn không đề cập đến nút radio? Bạn thường có thể bỏ chọn một hộp kiểm. Nếu bạn đang đề cập đến một nút radio, điều gần nhất tôi có thể nghĩ đến là sử dụng plugin thanh công cụ dev cho Firefox để xóa các nút radio.
Menu> Biểu mẫu> Xóa nút Radio


vâng, tôi xin lỗi, tôi đã đề cập đến các nút radio.
nmuntz

0

Biên tập:

Nếu đó là nút radio, bạn có thể sử dụng mẫu Javascript này hoặc có thể làm điều gì đó với AutoHotKey để tạo lối tắt riêng cho nó:

<script language="JavaScript">
<!--
function unCheckRadio(oRadio) {
      var or = document.getElementsByName(oRadio);
      for (var i = 0; i < or.length; i++) {
         or[i].checked = false;
     }
}
//-->
</script>

Không thực sự phù hợp nữa, mặc dù vẫn hữu ích:

Tôi đã viết một vài bài đăng trên bàn phím chủ đề Phím tắt cho các ứng dụng khác nhau và Cách cải thiện hiệu quả và trải nghiệm bằng cách học cách sử dụng phím tắt. Nhưng bất cứ khi nào tôi đăng nhập vào bất kỳ tài khoản nào, tôi sử dụng nút tab để di chuyển qua hộp trường để nhập userid và mật khẩu và tôi sử dụng chuột để chọn hoặc bỏ chọn hộp kiểm 'Giữ cho tôi đăng nhập'.

văn bản thay thế

Chỉ hôm nay tôi mới nhận ra rằng tôi không biết phím tắt nào để chọn hoặc bỏ chọn hộp kiểm. Đã làm một chút về Google và phát hiện ra rằng thanh Space được sử dụng cho hộp kiểm. Bạn có thể bắt gặp hộp kiểm ở nhiều nơi như 'Nhớ tôi' hoặc 'Tôi chấp nhận chính sách' và ở tất cả những nơi đó hãy nhớ sử dụng thanh dấu cách để chọn hoặc bỏ chọn hộp kiểm.


Lưu ý Hướng dẫn bàn phím Firefox đề cập rằng nút radio không có tùy chọn chuyển đổi (bật / tắt)
Ivo Flipse

Chà, điều này thực sự không còn hữu ích nữa sau khi anh ta chỉnh sửa câu hỏi của mình
Ivo Flipse
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.