首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么单选按钮不能是“只读”的?

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

Stack Overflow用户
提问于 2009-12-23 22:09:13
回答 13查看 295.1K关注 0票数 238

我想显示一个单选按钮,提交它的值,但根据情况,它是不可编辑的。Disabled不起作用,因为它不提交值(或者是吗?),并且使单选按钮变灰。只读确实是我想要的,但由于某种神秘的原因,它不能工作。

是不是有什么奇怪的把戏需要我拉出来才能像预期的那样只读?我是不是应该用JavaScript来做呢?

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

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2011-03-26 04:40:52

我通过仅禁用未选中的单选按钮来伪造单选按钮上的只读。它可以防止用户选择不同的值,并且选中的值将始终在提交时发布。

使用jQuery使其成为只读:

代码语言:javascript
复制
$(':radio:not(:checked)').attr('disabled', true);

这种方法也适用于将选择列表设为只读,只是您需要禁用每个未选中的选项。

票数 171
EN

Stack Overflow用户

发布于 2009-12-23 22:12:32

只有在有其他选项时,单选按钮才需要是只读的。如果您没有任何其他选项,则无法取消选中的单选按钮。如果您有其他选项,您可以通过禁用其他选项来阻止用户更改该值:

代码语言:javascript
复制
<input type="radio" name="foo" value="Y" checked>
<input type="radio" name="foo" value="N" disabled>

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

票数 221
EN

Stack Overflow用户

发布于 2009-12-23 22:13:27

这是你可以使用的技巧。

代码语言:javascript
复制
<input type="radio" name="name" onclick="this.checked = false;" />
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1953017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档