zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

设置 用户 效果 checkbox 只读 复选框 不让 勾选
2023-06-13 09:15:04 时间

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

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

<inputtype="text"name="realname"value="只读的文本内容..."readonly="readonly"/> <inputtype="checkbox"name="optiona"readonly="readonly"/>optiona
                   <inputtype="checkbox"name="optionb"readonly="readonly"/>optionb
                   <inputtype="checkbox"name="optionc"readonly="readonly"/>optionc                optiona
optionb
optionc               

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

<inputtype="text"name="realname"value="输入的文本内容..."disabled="disabled"/>                                   <inputtype="checkbox"name="optiona"disabled="disabled"/>optiona
                   <inputtype="checkbox"name="optionb"disabled="disabled"/>optionb
                   <inputtype="checkbox"name="optionc"disabled="disabled"/>optionc                optiona
optionb
optionc               

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

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