从UI的角度来看,最好是让一组RadioButtons具有能够取消选中的附加功能,或者拥有一组独有的CheckBoxes,这意味着一次只能检查一个吗?
示例:http://jsfiddle.net/5fN2J/2/
更新
我没想到会有这样的负面反应。如果我举一个更接近它如何使用的例子,也许会有所帮助。
我有一个充满数据绑定内容的GridView。用户可以选择将其中一行选为“主要”,但不是必需的。新示例:http://jsfiddle.net/5fN2J/2/
我是否应该包含一个额外的控件来取消选中“primary”,或者只是扩展CheckBox或RadioButton的功能?
如果你认为额外的RadioButton,那会在哪里,在标题中?
BTW,看起来需要JavaScript来使RadioButtons在GridView中工作,因为ASP.Net重新组合了GroupName。答案 0 :(得分:2)
绝对使用单选按钮,因为它们是为此目的而设计的。为什么要将用户与复选框混淆,并通过编写代码来维护独占行为而进一步麻烦自己?
答案 1 :(得分:0)
虽然我不同意更改radio
和checkbox
控件的预期功能,但我遇到了需要的情况。
如果您使用Javascript执行此操作,如果您的用户已禁用JS,则会失败。
appearance
CSS属性是您的朋友。
答案 2 :(得分:0)
就像其他人说过的那样,你不应该改变原生表单元素的预期行为。我会使用一组单选按钮,并包含一个“清晰选择”按钮。这使得明确选择 可清除,并提供了一种明显的方法。
另一种方法是“发明”一种新型控制 - 可能是基于隐藏的单选按钮,或许看起来像是一组'切换'的东西。这是一个非常直观的解决方案,并且会依赖于javascript,所以它可能不是最可靠的选择。
以下是两种解决方案的示例: http://www.spookandpuff.com/examples/clearableOptions.html
这两个解决方案目前都是javascript依赖 - 你可以通过清除按钮将表单提供给服务器,并通过清除的单选按钮设置,轻松地为第一个选项提供无JS后备。
答案 3 :(得分:0)
如果用户只能从一组中选择一个选项,请使用radiobuttons。如果用户可以选择任意数量的选项,请使用复选框。请注意,“只有一个选择”的定义可以包括一个说“无”的单选按钮。
自从GUI发明以来,这几乎是所有平台的标准。偏离这种做法只会让您的用户感到困惑。