如何使一个复选框无法点击*没有*它在浏览器中显示为灰色?

时间:2011-06-20 13:12:10

标签: javascript jquery html checkbox clickable

如何创建一个不可点击但不显示灰色的HTML复选框?我使用了disabled = disabled标签,但这使得它显示为灰色(在Chrome中)。否则它运作良好。在jQuery和Rails中工作......

感谢。

5 个答案:

答案 0 :(得分:13)

除了可用性问题:

$("input:checkbox").click(function() { return false; });

例如:http://jsfiddle.net/nKwRj/

答案 1 :(得分:7)

jQuery.onfalse一起用作回调:

$(":checkbox").on("click", false);

Fiddle

答案 2 :(得分:2)

为什么要让无法点击的复选框显示为可点击?愚弄用户?

如果您真的想欺骗用户,可以使用绝对定位(不需要脚本)在其上方放置一个0.01不透明度的div。但我仍然想知道为什么你觉得有必要对你的用户进行恶作剧......;)

编辑:如果你真正需要的是包含一个值,用户不应该改变,但你不想要你可能正在考虑的“丑陋的禁用复选框”,你应该使用input type hidden,这是完全的无形。

如果您想表明某些内容已预先选定但不可更改或类似内容,请使用禁用复选框指示此项(如果您愿意,请使用相当复选框的图像),但要注意禁用复选框的值是没有提交。使用隐藏字段来包含所需的数据。

答案 3 :(得分:2)

防止按ID或按类更改复选框。

/* by class */
$(".nochange").click(function () {
    return false;
});
/* by ID */
$("#nochange").click(function () {
    return false;
});

<input name='test' type='checkbox' class='nochange' checked='checked' />
<br />
<input name='test' type='checkbox' id='nochange' checked='checked' />

http://jsfiddle.net/mjames757/nX64E/1/

答案 4 :(得分:0)

我遇到了这个帖子,寻找最初问题的答案 - 并发现反对非灰色禁用的复选框令人信服,所以我做了一个包含这个的td-tag:&lt;%if rs(“是/没有值“)= -1然后response.write(”√“)%&gt; (翼是一个&amp; radic)。然后我得到一个干净的信息翼,不邀请点击。