我想显示一个单选按钮,提交它的值,但根据情况,它是不可编辑的。Disabled不起作用,因为它不提交值(或者是吗?),并且使单选按钮变灰。只读确实是我想要的,但由于某种神秘的原因,它不能工作。
是不是有什么奇怪的把戏需要我拉出来才能像预期的那样只读?我是不是应该用JavaScript来做呢?
顺便说一句,有没有人知道为什么只读在单选按钮中不起作用,而在其他输入标签中却起作用?这是HTML规范中那些难以理解的遗漏之一吗?
发布于 2011-03-26 04:40:52
我通过仅禁用未选中的单选按钮来伪造单选按钮上的只读。它可以防止用户选择不同的值,并且选中的值将始终在提交时发布。
使用jQuery使其成为只读:
$(':radio:not(:checked)').attr('disabled', true);
这种方法也适用于将选择列表设为只读,只是您需要禁用每个未选中的选项。
发布于 2009-12-23 22:12:32
只有在有其他选项时,单选按钮才需要是只读的。如果您没有任何其他选项,则无法取消选中的单选按钮。如果您有其他选项,您可以通过禁用其他选项来阻止用户更改该值:
<input type="radio" name="foo" value="Y" checked>
<input type="radio" name="foo" value="N" disabled>
发布于 2009-12-23 22:13:27
这是你可以使用的技巧。
<input type="radio" name="name" onclick="this.checked = false;" />
https://stackoverflow.com/questions/1953017
复制相似问题