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

在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" />               
时间: 2024-11-02 09:46:27

checkbox设置复选框的只读效果不让用户勾选_javascript技巧的相关文章

一览画面点击复选框后获取多个id值的方法_javascript技巧

在web开发中经常会遇到一览画面中每一条记录前都带一个复选框,点击后选中该条记录进行删除.修改.查看等操作. 修改和查看都是获取一条记录的id值后传递到后台进行查询获取该记录对象的各种属性值,再显示到画面上. 我说的重点是选中多条记录后进行批量删除,如何获取多条记录的id值是问题的关键.首先是在jsp页面中全选中复选框的方法. 代码如下: function checkEvent(name, allCheckId) { var allCk = document.getElementById(all

js判断复选框是否选中及选中个数的实现代码_javascript技巧

用js判断复选框是否选中及选中个数,以前经常有朋友提到复选框的选中问题,这段代码可以帮你解决这个问题,而且它还可以判断你选择了多少个复选框,多选则弹出提示 <HTML> <head> <title>判断复选框是否选中及选中个数</title> <SCRIPT LANGUAGE="JavaScript"> function countChoices(obj) { max = 2; box1 = obj.form.box1.che

java-easyui中设置多选框,我选择任意一个都会全选,求大神解答一下,在线等

问题描述 easyui中设置多选框,我选择任意一个都会全选,求大神解答一下,在线等 easyui中设置多选框,我选择任意一个都会全选,求大神解答一下,在线等 解决方案 不可能.只有勾选标题的那个复选框才会选中所有的记录前面的复选框 解决方案二: 你把你的checkbox 做一个循环 判断是否有勾选 只要有勾选 就把其他的也设置上 解决方案三: 既然使用easyUI 为这些多选框添加相同的一个click处理就是 $("#checkbox1,checkbox2......").click(

用js设置下拉框为只读的小技巧

 select没有只读属性,所以需要在select外面包含一个span,通过js来改变,需要的朋友可以参考下 在项目开发过程中我们时常会碰到要设置下拉框为只读(readonly),但是可惜的是select没有只读属性,所以需要在select外面包含一个span,通过js来改变.    下面这段html代码是在struts2的下拉标签中加入了span标签,在页面装载的时候就让下拉框变成不可读.  代码如下: <body onload="init()">  <span i

用js设置下拉框为只读的小技巧_javascript技巧

在项目开发过程中我们时常会碰到要设置下拉框为只读(readonly),但是可惜的是select没有只读属性,所以需要在select外面包含一个span,通过js来改变. 下面这段html代码是在struts2的下拉标签中加入了span标签,在页面装载的时候就让下拉框变成不可读. 复制代码 代码如下: <body onload="init()"> <span id="id_select"> <s:select name="sjd

javascript-我有多个表格带复选框,怎么写一个js实现全选全不选。

问题描述 我有多个表格带复选框,怎么写一个js实现全选全不选. 如果每个表格的第一个复选框都设置ID,感觉js太多,有没有简单的方法 解决方案 网上有很多案例:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nrve.html <script language="javascript"> function cli(Obj) { var collid = document.getElementByIdx_x("all"

ASP checkbox复选框是否被选中的代码(结合数据库)_应用技巧

有的时候,我们在网页中会用到复选框,也就是多选框,当用户提交输入信息的时候我们会获取复选框的内容,然后保存到数据库中,如经常用到的是用户输入的个人信息.可是当用户提交后可能还需要修改,那么我们就要从数据库中读出这些表单数据,这就要求必须把用户之前输入的状态给显示出来,可是当我们从数据库中读出复选框是否被选中时确很难实现.所以今天就教大家通过ASP从数据库中读出复选框是否被选中的方法,希望还有其他方法的朋友留言分享. 具体代码如下所示: 复制代码 代码如下: <% document=Split(r

JavaScript实现的购物车效果可以运用在好多地方_javascript技巧

JavaScript实现的购物车效果,当然这个效果可以运用在好多地方,比如好友的选择,人力资源模块,计算薪资,人员的选择等等.下面看类似某种购物车的效果图: code: goodsCar.js:这个js写成了一个单独的文件.主要是控制上面的列表显示的. 复制代码 代码如下: window.onload=function(){ initStore(); }; var goods=["火腿","美女","御姐","火星一日游",&

省市联动效果的简单实现代码(推荐)_javascript技巧

下拉框二级联动效果在日常应用场景中经常会碰到,尤其是涉及地区.品种等有多级选项时.例如:常见的省市联动下拉框,在选择省份时,城市列表也会更随改变. 思路: 1,所谓联动效果,是指出发父级的数据变化时,会影响到关联性子级数据元素的变化. 下面是造的省市的数据: var linkDatas = { provinces:[ { "code":"0", "name":"请选择" }, { "code":"