为什么单选按钮不能“只读”?

我想显示一个单选按钮,提交它的值,但根据具体情况,它不可编辑。 禁用不起作用,因为它没有提交值(或者不是?),并且它会使单选按钮变为灰色。 只读是我正在寻找的东西,但出于某种神秘的原因,它不起作用。

是否有一些奇怪的技巧,我需要拉动以只读方式按预期工作? 我应该用JavaScript代替吗?

顺便说一句,有没有人知道为什么只读不能在单选按钮中工作,而它在其他输入标签中工作? 这是HTML规范中那些不可理解的遗漏吗?


我只是通过禁用未经检查的单选按钮来伪造单选按钮。 它使用户不会选择不同的值,并且检查的值始终会在提交后发布。

使用jQuery进行只读:

$(':radio:not(:checked)').attr('disabled', true);

这种方法也适用于只读选择列表,不同之处在于您需要禁用每个未选定的选项。


如果有其他选项,单选按钮只需要是只读的。 如果您没有其他选项,则选中的单选按钮不能被取消选中。 如果您有其他选项,则可以通过禁用其他选项来阻止用户更改值:

<input type="radio" name="foo" value="Y" checked>
<input type="radio" name="foo" value="N" disabled>

小提琴:http://jsfiddle.net/qqVGu/


这是你可以使用的技巧。

<input type="radio" name="name" onclick="this.checked = false;" />
链接地址: http://www.djcxy.com/p/15401.html

上一篇: Why can't radio buttons be "readonly"?

下一篇: CSS strikethrough different color from text?