checkbox设置复选框的只读效果不让用户勾选

Posted dauber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了checkbox设置复选框的只读效果不让用户勾选相关的知识,希望对你有一定的参考价值。

在Web开发中,有时候需要显示一些复选框(checkbox),表明这个地方是可以进行勾选操作的,但是有时候是只想告知用户"这个地方是可以进行勾选操作的"而不想让用户在此处勾选(比如在信息展示页面),这时候就需要将复选框设置成只读的效果。

提到只读,很容易想到使用readonly属性,但是对于复选框来说,这个属性和期望得到的效果是有差别的。原因在于readonly属性关联的是页面元素的value属性(例如textbox,设置了readonly就不能修改输入框的文本内容),而复选框的勾选/取消并不改变其value属性,改变的只是一个checked状态。所以对于checkbox来说,设置了readonly,仍然是可以勾选/取消的。效果如下:

<input type="text" name="realname" value="只读的文本内容..." readonly="readonly" />
<input type="checkbox" name="optiona" readonly="readonly" />option a
                    <input type="checkbox" name="optionb" readonly="readonly" />option b
                    <input type="checkbox" name="optionc" readonly="readonly" />option c               
option a
option b
option c               

和readonly类似的,还有一个disabled属性,这个属性的作用是设置页面元素为不可用,即不可进行任何交互操作(包括不可修改value属性、不可修改checked状态等)。效果如下:

<input type="text" name="realname" value="输入的文本内容..." disabled="disabled" />               
                    <input type="checkbox" name="optiona" disabled="disabled" />option a
                    <input type="checkbox" name="optionb" disabled="disabled" />option b
                    <input type="checkbox" name="optionc" disabled="disabled" />option c               
option a
option b
option c               

从上面我们可以看到,无论是readonly还是disabled,都没有实现我们期望的效果。既然直接实现不了,那么我们可以变通一下,模拟实现。代码如下:

<input type="checkbox" name="chkAllowed" onclick="return                        false;" checked="checked" />               








以上是关于checkbox设置复选框的只读效果不让用户勾选的主要内容,如果未能解决你的问题,请参考以下文章

jsp实现复选框默认选中,不可取消

.is() 全选复选的判断

只读(可视)复选框

利用伪元素before实现自定义checkbox样式

TERSUS画画一样开发软件 显示元件介绍-勾选类显示元件

Android开发基础之控件CheckBox